有没有办法在出现警告框时阻止Enter键盘?因此,用户需要按Esc键或单击Ok按钮来删除警报。
<script>
alert('Hello');
</script>发布于 2017-10-26 20:02:03
正如我前面的评论所说,标准的javascript警告:
alert("hello world!");是在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。代码如下:
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,那么它的代码会更少。
https://stackoverflow.com/questions/46952993
复制相似问题