首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Jquery禁用网页上的空格键和Tab键?

如何使用Jquery禁用网页上的空格键和Tab键?
EN

Stack Overflow用户
提问于 2016-08-12 12:58:43
回答 1查看 697关注 0票数 1

我有一个“弹出”div,当显示它时,我想禁用页面上的任何keypresskeydown事件。

我尝试了下面的代码:

代码语言:javascript
运行
复制
$(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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-12 13:00:50

尝试将代码切换到以下内容:

代码语言:javascript
运行
复制
$(document).on('keypress keydown',function (e) {
    return $(".popup").is(":visible") && e.which !== 9 && e.which !== 32;
});

如果弹出窗口可见,上面的代码将返回所有按下的键,tabspace,除外。

工作片段:

代码语言:javascript
运行
复制
$(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;
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<input id="txt" type="text" />

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38918591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档