我如何知道一个事件是否是 JavaScript 中的 DOM/HTML 事件?
比方说,我有一个元素 <a>
.我怎么知道 click
或 focus
是本地事件,但另一个像 mycustomevent
不是吗?
例如,如果事件是原生的或自定义的,我想以不同的方式附加监听器:
var eventName; // can be 'foo', 'click' or 'touchstart';
var link = document.querySelector('a');
if(//custom){
eventName += '.domain';
}
link.addEventListener(eventName, function (){ //... });
最佳答案
function isNativeEvent(eventname) {
return typeof document.body["on" + eventname] !== "undefined";
}
这将检查事件处理程序是否在某个元素上定义(包括 null
),这意味着它是 native 事件。
> isNativeEvent('click')
< true
> isNativeEvent('myCustomEvent')
< false
关于javascript - 如何在 JavaScript 中知道事件名称是否是自定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30297555/