繁体   English   中英

您如何以编程方式确定HTML对象可以侦听哪些事件?

[英]How do you programmatically determine to which events an HTML object can listen for?

我一直在查看developer.mozilla.org上的文档和Apple dev文档,但找不到能够说明您是否可以以编程方式确定特定HTML标记是否支持给定eventListener的文档。

就像我知道的那样, <script>标记将不支持单击侦听器,因为没有要单击的内容,但是我怎么知道呢?

还是禁止这种情况,每个标签支持哪些事件?

根据Perfection Kills的说法,除了少数情况,您可以:

诀窍在于,许多现代浏览器将与事件名称相对应的属性报告为元素中存在。

基本上,代码如下所示:

'onclick' in document.documentElement; // true
'onclick2' in document.documentElement; // false

他使用它来检测各种浏览器中的事件支持,但也可以用来检测元素是否支持事件:

必须在实际上可能触发该事件的元素上检查事件。

因此,您还会得到如下结果:

'onreset' in document.documentElement; // false
'onreset' in document.createElement('input'); // true

我告诉你读这篇

...而且您必须想到的最好的事情是,事件仅适用于DOM对象。 然后,DOM中的所有对象都可能发生事件(但请阅读列表)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM