我有一个" popup"显示的div我想要禁用页面上的任何keypress
或keydown
事件。
我在下面尝试了以下代码:
$(document).on('keypress keydown',function (e) {
var key = e.which;
if(key == 32 && $(".popup").is(":visible")){
// console.log($(".popup").is(":visible"));
// alert("keypresses yr "+(key == 32 && $(".popup").is(":visible")));
e.preventDefault();
return false;
}
});
在if
条件下,我会检查按键是否为spacebar (32)
且popup
框是否可见而不是仅禁用keypress
。
没用!
我使用的是jquery版本1.11.1
。
答案 0 :(得分:1)
尝试将代码切换为以下内容:
tab
如果弹出窗口可见,则上面的代码将返回除 space
和 $(document).on('keypress keydown', function(e) {
/* I changed it to ':focus' to demonstrate how it works inside the input */
return $("#txt").is(":focus") && e.which !== 9 && e.which !== 32;
});
以外的所有按键。
工作代码段
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<input id="txt" type="text" />
BookMap