gpt4 book ai didi

javascript - 检测事件捕获支持javascript

转载 作者:行者123 更新时间:2023-11-28 02:26:50 25 4
gpt4 key购买 nike

有没有办法检测浏览器是否支持事件捕获和事件冒泡?我查过http://modernizr.com/但在文档中看不到任何信息。

我是否认为 IE < 9 不支持事件捕获,但在其他浏览器中应该没问题?

为了清楚起见,我想检测浏览器是否支持事件 DOM 模型的事件捕获阶段以及事件冒泡阶段。

最佳答案

可能有更好的方法,但这是我想到的第一件事。您需要创建一个元素,在捕获阶段将事件处理程序绑定(bind)到它,在其上触发一个事件,然后检查事件处理程序中的 eventPhase 属性:

var button = document.getElementById("example");

document.addEventListener("click", function (e) {
console.log(e.eventPhase); // 1 === capture, 2 === target, 3 === bubble
}, true);

evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
button.dispatchEvent(evt);

您可能希望添加各种其他检查(例如,对于 dispatchEvent 支持),并且您需要在代码中实际创建 button 元素(并将其插入到 DOM 中,隐藏)。

这是一个fiddle包含上述代码以帮助您入门。

关于javascript - 检测事件捕获支持javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14810259/

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