如何在javascript中使用键事件,以便它不会传播?

Tom*_*ito 15 javascript

如何在javascript中使用键事件,以便它不会传播?

Tim*_*own 20

如果您不希望事件传播并且您不使用jQuery(或其他包装本机浏览器事件的库),则需要stopPropagation()在大多数浏览器中使用事件的方法,并cancelBubble在IE中使用其属性.不要打扰return falsepreventDefault():这些只会影响事件是否发生本机浏览器操作,而与传播无关.

例如:

document.onkeypress = function(evt) {
    evt = evt || window.event;
    if (typeof evt.stopPropagation != "undefined") {
        evt.stopPropagation();
    } else {
        evt.cancelBubble = true;
    }
};
Run Code Online (Sandbox Code Playgroud)


Dou*_*las 5

尝试preventDefault和/或stopPropagation.

  • @yoda:那些不是jQuery方法,jQ只包装了原生方法.我同意链接到jQ文档有点不幸. (6认同)
  • @ Tom,@ Douglas:`preventDefault()`与事件传播无关,而`stopPropagation()`与抑制本机浏览器操作无关。我想说的区别远非微妙。 (2认同)