Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用可编辑命令_Javascript_Jquery_Html_Contenteditable - Fatal编程技术网

Javascript 禁用可编辑命令

Javascript 禁用可编辑命令,javascript,jquery,html,contenteditable,Javascript,Jquery,Html,Contenteditable,我会确保一个具有contentEditable HTML5属性的特定html元素,用户不能执行“命令”(例如:CTRL+B、CTRL+I等)。我会使用jQuery或javascript函数来实现这一点。 我怎么能做到? 谢谢您可以监听按键事件,如果输入与命令匹配,您可以阻止默认设置: 示例代码(仅在Chrome中测试): 演示版(仅在Chrome中测试):感谢您的回答。所以我需要一个CTRL+*命令列表并将其添加到脚本中,对吗?再次感谢。如果按键事件与命令匹配(无论您如何定义),matchesC

我会确保一个具有contentEditable HTML5属性的特定html元素,用户不能执行“命令”(例如:CTRL+B、CTRL+I等)。我会使用jQuery或javascript函数来实现这一点。 我怎么能做到?
谢谢

您可以监听按键事件,如果输入与命令匹配,您可以阻止默认设置:

示例代码(仅在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
}