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) {...}
});