首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法输入Javascript警报

无法输入Javascript警报
EN

Stack Overflow用户
提问于 2017-10-26 19:23:14
回答 1查看 50关注 0票数 1

有没有办法在出现警告框时阻止Enter键盘?因此,用户需要按Esc键或单击Ok按钮来删除警报。

代码语言:javascript
运行
复制
<script>
alert('Hello');
</script>
EN

回答 1

Stack Overflow用户

发布于 2017-10-26 20:02:03

正如我前面的评论所说,标准的javascript警告:

代码语言:javascript
运行
复制
alert("hello world!");

是在javascript控制范围之外由浏览器处理、样式化和执行的特性。

也就是说,您可以通过创建自定义弹出框来相当容易地完成此操作。

我不打算过多地介绍样式,但下面是一些代码,您可以在此基础上构建样式框:

代码语言:javascript
运行
复制
<div id="alertBox" style="position:absolute;height:100%;width:100%;z-index:9999;background:white">
  <div id="alertText" style="position:relative;text-align:center;top:45%">
    You must press "esc" to escape!
  </div>
</div> 

然而,我将更详细地解释javascript。代码如下:

代码语言:javascript
运行
复制
function code(e) {
  e = e || window.event;
  return(e.keyCode || e.which);
}

document.onkeypress = function(e){
    var key = code(e);
    if(key == 27){
      //run some code, they pressed the esc key
      document.getElementById('alertBox').style.display = "none"; 
    }
};

代码的前4行存储了被按到名为"e“的变量中的键。

当一个键被按下时,document.onkeypress函数开始监听。为了清楚起见,"e“变量被传递给函数,然后保存到一个名为"key”的变量中。

然后根据键盘上的"esc“键编号27测试"key”变量。如果"key“等于27,那么我们运行一些代码,如果不等于27,我们就忽略按键。

我们在这里运行的代码删除了我们创建的警告框。

我希望这对你有帮助!

附注:这个答案没有使用jQuery,但是如果您的项目中已经有jQuery,那么它的代码会更少。

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

https://stackoverflow.com/questions/46952993

复制
相关文章

相似问题

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