![](/img/trans.png)
[英]How to prevent refresh after clicking the alert OK button? Return false doesn't work here
[英]Alert box doesn't show even after return false
看到代码:
area.onkeydown = function(e){
e = e || window.event;
if(e.shiftKey && e.keyCode === 32){
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
// no alert here
return false;
}
};
在这里,代码有效,并且在按下Shift + Space时不会插入空格。 但是,一旦我插入alert
,它就无法工作,即插入了空格,警报框也没有显示。
area.onkeydown = function(e){
e = e || window.event;
if(e.shiftKey && e.keyCode === 32){
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
alert("typed"); // this alert doesn't show
return false; // and space also gets insrted
}
};
我想念什么?
更新:
onkeyup
将显示警报,但是会插入空格。 onkeypress
不会插入空格,但是只要按键保持按下状态,警报就会保留。 因此,我想我没有办法使它正常工作。 正如Teemu所说 :
在您的拨弄下,该代码段可以使用或不使用
alert()
而无需在IE11(Win7)中打印空格。 FF失去了preventDefault()
行为,尽管我可以看到警报。 在Chrome35中,警报仅在屏幕上闪烁,并且已打印空格。 (如果刷新速度足够快,您的情况是?) IE使用OS窗口显示警报,其他浏览器也有自己的实现,这似乎使事件处理混乱。
更新:我投票结束这个问题为离题,因为在最新的Chrome版本中,该问题不再能够按照描述的方式重现。 现在按Shift + Space将显示警报框,但不会插入任何空格。
尝试使用onkeypress
而不是onkeydown
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.