首页 > 解决方案 > hasOwnProperty 不适用于“onsubmit”属性

问题描述

我需要在元素hasOwnProperty()的属性上使用。onsubmit但是,它不起作用:

el = document.createElement('a')
<a>​&lt;/a>​

// This works as expected
el.onclick2 = (e) => { console.log('click2') }
(e) => { console.log('click2') }
Object.prototype.hasOwnProperty.call(el, 'onclick2')
true

// This doesn't
el.onclick = (e) => { console.log('click') }
(e) => { console.log('click') }
Object.prototype.hasOwnProperty.call(el, 'onclick')
false

为什么它不起作用?这在 Chrome 和 Firefox 中是一致的。

标签: javascriptdomevents

解决方案


我会去hasAttribute,比如:

const hasOnClick = document.querySelector('#myElement').hasAttribute("onclick");
console.log(hasOnClick);
<div id="myElement" onclick=""></div>


推荐阅读