gpt4 book ai didi

javascript - KeyboardEvent 的 stopPropagation()

转载 作者:行者123 更新时间:2023-11-29 20:12:01 25 4
gpt4 key购买 nike

问题

如何在不立即在事件处理程序中执行 return false 的情况下成功防止 KeyboardEvent 冒泡?

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

更多信息

事件使用 native 方法绑定(bind)(addEventListener()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;
};

防止触发默认值,但它不会停止那些KeyboardEvent 的传播。

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

最佳答案

使用这段代码

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

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

关于javascript - KeyboardEvent 的 stopPropagation(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9129789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com