Javascript 禁用可编辑命令
我会确保一个具有contentEditable HTML5属性的特定html元素,用户不能执行“命令”(例如:CTRL+B、CTRL+I等)。我会使用jQuery或javascript函数来实现这一点。 我怎么能做到?Javascript 禁用可编辑命令,javascript,jquery,html,contenteditable,Javascript,Jquery,Html,Contenteditable,我会确保一个具有contentEditable HTML5属性的特定html元素,用户不能执行“命令”(例如:CTRL+B、CTRL+I等)。我会使用jQuery或javascript函数来实现这一点。 我怎么能做到? 谢谢您可以监听按键事件,如果输入与命令匹配,您可以阻止默认设置: 示例代码(仅在Chrome中测试): 演示版(仅在Chrome中测试):感谢您的回答。所以我需要一个CTRL+*命令列表并将其添加到脚本中,对吗?再次感谢。如果按键事件与命令匹配(无论您如何定义),matchesC
谢谢您可以监听按键事件,如果输入与命令匹配,您可以阻止默认设置: 示例代码(仅在Chrome中测试):
演示版(仅在Chrome中测试):感谢您的回答。所以我需要一个CTRL+*命令列表并将其添加到脚本中,对吗?再次感谢。如果按键事件与命令匹配(无论您如何定义),matchesCmd方法应返回true,否则返回false。如果在按住ctrl键的情况下按下任何键都是命令,只需返回e.ctrlKey即可。您还应该了解您的选择库是如何抽象事件的;addEventListener可能不可用,事件的属性或值可能与相同键不同,等等。
div.addEventListener('keydown', keyHandler);
function keyHandler(e) {
if (matchesCmd(e)) {
e.preventDefault();
}
}
function matchesCmd(e) {
return e.ctrlKey && e.which==86; // Ctrl-v
}