Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 JS>;键入时防止自定义定义的键盘快捷键_Javascript_Jquery_Html_Angularjs - Fatal编程技术网

Javascript JS>;键入时防止自定义定义的键盘快捷键

Javascript JS>;键入时防止自定义定义的键盘快捷键,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我想定义+?快捷方式,在每个页面中打开特定的帮助模式(我的意思是每个页面都有不同的内容)。就像Gmail一样。 有数百种方法可以实现这一点,但我的问题是如何防止在用户键入输入时打开模式(触发事件)或 这个项目太大了,我不能回去为所有的输入、文本区域或。。。防止我的快捷方式聚焦它们并在元素模糊上重新激活它。 所以我需要动态的想法!无论是Javascript、jQuery还是Angular 对于想要看到伪重复代码的人: $document.bind("keypress", function(e) {

我想定义
+?
快捷方式,在每个页面中打开特定的帮助模式(我的意思是每个页面都有不同的内容)。就像Gmail一样。
有数百种方法可以实现这一点,但我的问题是如何防止在用户键入输入时打开模式(触发事件)或
这个项目太大了,我不能回去为所有的输入、文本区域或。。。防止我的快捷方式聚焦它们并在元素模糊上重新激活它。
所以我需要动态的想法!无论是Javascript、jQuery还是Angular
对于想要看到伪重复代码的人:

$document.bind("keypress", function(e) {
    if (e.shiftKey && e.keyCode == 191) {...}
});

检查事件是否起源于
输入
文本区域

$document.bind("keypress", function(e) {
    if (e.shiftKey && e.keyCode == 191 &&
        !$(e.target).closest("input, textarea").length // <=== The check
        ) {
       // It did
    if (e.shiftKey && e.keyCode == 191) {...}
});

谢谢你,伙计,它起作用了。但是第二个键码检查的是什么?
$document.bind("keypress", function(e) {
    if (e.shiftKey && e.keyCode == 191 &&
        !$(e.target).is("input, textarea") // <=== The check
        ) {
       // It did
    if (e.shiftKey && e.keyCode == 191) {...}
});