如何使用javascript中的关键事件,使其不会';不传播?

如何使用javascript中的关键事件,使其不会';不传播?,javascript,Javascript,如何使用javascript中的键事件,使其不会传播?尝试和/或。如果您不希望事件传播,并且没有使用jQuery(或包装本机浏览器事件的另一个库),则需要使用事件的stopPropagation()大多数浏览器中的方法及其IE中的cancelBubble属性。不要为return false或preventDefault()操心:它们只影响本机浏览器是否对事件执行操作,而与传播无关 例如: document.onkeypress = function(evt) { evt = evt ||

如何使用javascript中的键事件,使其不会传播?

尝试和/或。

如果您不希望事件传播,并且没有使用jQuery(或包装本机浏览器事件的另一个库),则需要使用事件的
stopPropagation()大多数浏览器中的
方法及其IE中的
cancelBubble
属性。不要为
return false
preventDefault()
操心:它们只影响本机浏览器是否对事件执行操作,而与传播无关

例如:

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

假设问题是关于jQuery的,没有指定wich。@yoda:这些不是jQuery方法,jQ只是包装了本机方法。我同意链接到jQ文档有点不幸。stopPropagation在我的Xul应用程序中不起作用,但preventDefault起作用了,谢谢!)@汤姆:是的,他们做的事情细微不同。Firefox/xulrunner文档的最佳位置可能从这里开始:@Tom,@Douglas:
preventDefault()
与事件传播无关,
stopPropagation()
与抑制本机浏览器操作无关。我想说,两者之间的区别并不微妙。我喜欢你的解释,但它不起作用
preventDefault()
确实有效。@daCoda:在这种情况下,您想要的是阻止事件的默认行为,而不是停止传播。