在Chrome浏览器中,当使用以下代码片段时:
每次我在URL栏中按下“enter”键时(例如当我剪切和粘贴页面本身的URL时),事件监听器都会触发。为什么会这样呢?
编辑:这让我感到惊讶,因为URL栏不在document中(可能在window中?)而且Firefox没有这种行为。当我寻找e.target时,Chrome Inspector显示body。我认为这可能是由于事件冒泡引起的,所以我尝试了以下代码:
$(document).on('keyup', function(){
alert("Hey");
});
每次我在URL栏中按下“enter”键时(例如当我剪切和粘贴页面本身的URL时),事件监听器都会触发。为什么会这样呢?
编辑:这让我感到惊讶,因为URL栏不在document中(可能在window中?)而且Firefox没有这种行为。当我寻找e.target时,Chrome Inspector显示body。我认为这可能是由于事件冒泡引起的,所以我尝试了以下代码:
$(document).on('keyup', function(e){
e.stopPropagation();
alert("Hey");
});
但它不起作用。 如何防止其被触发?
keypress
和keyup
不是同一件事情。 - Some Guy