用于KeyboardEvent的stopPropagation()

时间:2012-02-03 14:00:36

标签: javascript

问题

如果不在事件处理程序中立即执行return false,如何成功阻止KeyboardEvent冒泡?

注意:事件的类型为KeyboardEvent而我使用jQuery,因此e.stopPropagation()不是一个选项({{1}上没有这样的方法我KeyboardEvent时的对象。

更多信息

使用本机方法(console.logaddEventListener()绑定事件,具体取决于浏览器),并使用此函数取消默认值:

attachEvent()

阻止默认值被触发,但它不会停止那些this.cancelHandler = function(event) { /** * Cross browser event cancellation (e.preventDefault() is not available without jQuery */ var e = event || window.event; // All good browsers… if (e.preventDefault) {e.preventDefault();} // …and IE if (e.returnValue) {e.returnValue = false;} return false; }; 的传播。

我正在寻找与至少 IE7 +和现代浏览器兼容的东西。

1 个答案:

答案 0 :(得分:3)

使用这段代码

e.cancelBubble = true;
if( e.stopPropagation ) e.stopPropagation();

stopPropagation不是jQuery,而是标准函数(当然不是标准函数)