我一直在查看developer.mozilla.org和Apple开发文档中的文档,但我无法找到解释您是否可以以编程方式确定特定HTML标记是否支持给定eventListener的文档。
就像我知道<script>
标签不支持点击监听器一样,因为没有什么可点击的,但我怎么知道呢?
或者除此之外,是否有一个简单的参考,每个标签支持哪些事件?
答案 0 :(得分:5)
诀窍在于,许多现代浏览器将与事件名称对应的属性报告为存在于元素中。
基本上,代码如下所示:
'onclick' in document.documentElement; // true
'onclick2' in document.documentElement; // false
他使用它来检测各种浏览器中的事件支持,但它也可用于检测元素是否支持事件:
必须检查可能实际发起该事件的元素。
所以你也得到这样的结果:
'onreset' in document.documentElement; // false
'onreset' in document.createElement('input'); // true
答案 1 :(得分:0)
我告诉你阅读this
...你必须考虑的最好的事情是事件只适用于DOM对象。然后DOM中的所有对象都可以有事件(但是读取列表)。