如何在对象javascript上分配onclick属性时进行监视

如何在对象javascript上分配onclick属性时进行监视,javascript,Javascript,如何监控对象何时被分配了onclick属性? 我希望在分配处理程序时收到通知 <input type="text" id="test"> <script> var testObj = document.getElementById('test'); console.log(testObj.onclick); // return null testObj.onclick = function () { // assign handler console.log(

如何监控对象何时被分配了
onclick
属性? 我希望在分配处理程序时收到通知

<input type="text" id="test">

<script>
var testObj = document.getElementById('test');
console.log(testObj.onclick); // return null

testObj.onclick = function () { // assign handler
    console.log("Clicked !!");
}

console.log(testObj.onclick); // return function
</script>

var testObj=document.getElementById('test');
console.log(testObj.onclick);//返回空
testObj.onclick=function(){//assign handler
log(“单击!!”);
}
console.log(testObj.onclick);//返回函数
尝试使用:

testObj.addEventListener("click",function () {
    console.log("Clicked !!");
});
下面是一个例子: 试试看


我不认为JavaScript会在调用
addEventListener
元素.onlcik
时触发任何事件

作为一种肮脏的解决方法,您可以调用自己的附加函数来 通知/监视添加的事件

//Example

registerEvent(obj, eventname) {
    //save this for monitoring purpose.
}

//Notify here...
registerEvent(testObjet, 'onclick');
testObj.onclick = function () { // assign handler
    console.log("Clicked !!");
}

您的代码使用
addEventListener
函数。但我的问题是当我们为一个对象分配属性时监视;为此:console.log(testObj.onclick());我认为OP是想问如何判断是否已经分配了处理程序。或者如何在分配处理程序时收到通知。有点不清楚,但不是问如何分配处理程序。@nnnnnn你说得对!我希望在分配处理程序时收到通知。
//Example

registerEvent(obj, eventname) {
    //save this for monitoring purpose.
}

//Notify here...
registerEvent(testObjet, 'onclick');
testObj.onclick = function () { // assign handler
    console.log("Clicked !!");
}