处理未由其他元素处理的Javascript事件

Gro*_*uez 5 javascript javascript-events

我正在编写一个脚本,我只想在之前没有被任何其他元素处理过的情况下处理鼠标事件.

我可以将事件监听器附加到文档对象,但它将接收所有事件,无论它们是否已被处理.

我无法控制HTML页面中的元素,因此在处理事件时我无法手动stopPropagation().

有任何想法吗?

Rob*_*ben 1

从这篇文章这里

\n\n

看来目前还不可能做到这一点。

\n\n
\n

注册了哪些事件处理程序?

\n\n

W3C\xe2\x80\x99s 事件注册模型的当前实现的一个问题是,您无法\xe2\x80\x99 查明是否有任何事件处理程序已\n 注册到某个元素。在传统模型中你可以这样做:

\n\n

alert(element.onclick)

\n\n

您会看到\xe2\x80\x99 注册到它的函数,或者如果未注册任何内容,则为未定义。仅在其最近的 DOM\n Level 3 Events W3C 中添加了

\n
\n\n

eventListenerList

\n\n
\n

存储当前在元素上注册的事件处理程序列表。任何浏览器尚不支持此功能,\xe2\x80\x99 太新了。\n 不过,该问题已得到解决。

\n\n

幸运的是

\n
\n\n
removeEventListener() \n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

如果您要删除的事件侦听器尚未添加到元素中,则\xe2\x80\x99不会给出任何错误,因此当\n有疑问时,您始终可以使用removeEventListener()。

\n
\n