Javascript 如何获取HTML对象的onclick?

Javascript 如何获取HTML对象的onclick?,javascript,Javascript,使用vanilla JS,我想知道是否可以在HTML对象(div)上看到onclick属性 不必枚举元素的属性,您可以使用以下命令立即检索元素的onclick属性: var clickHandler = element.onclick; 现在的事件与旧IE中的addEventListener(和attachEvent)绑定,允许每个事件类型有多个处理程序。设置onevent属性只允许一个处理程序,可以被覆盖,通常不是在网页中绑定处理程序的方法 不幸的是,如果不编写跟踪它们的包装函数,则无法检索

使用vanilla JS,我想知道是否可以在HTML对象(div)上看到onclick属性


不必枚举
元素的属性
,您可以使用以下命令立即检索
元素的
onclick
属性

var clickHandler = element.onclick;
现在的事件与旧IE中的
addEventListener
(和
attachEvent
)绑定,允许每个事件类型有多个处理程序。设置
onevent
属性只允许一个处理程序,可以被覆盖,通常不是在网页中绑定处理程序的方法

不幸的是,如果不编写跟踪它们的包装函数,则无法检索与
addEventListener
(和
attachEvent
)绑定的任何侦听器……例如:

var events = [];
function addEvent(element, eventName, callback) {
    element.addEventListener(eventName, callback, false);
    var found = false;
    for (var i = 0; i < events.length; i++) {
        if (events[i].el === element) {
            found = true;
            events[i].list.push(callback);
            break;
        }
    }
    if (!found) {
        events.push({
            el: element,
            list: [callback]
        });
    }
}

function viewEvents(element) {
    for (var i = 0; i < events.length; i++) {
        if (events[i].el === element) {
            return events[i].list;
        }
    }
    return null;
}

(当然,你需要一个用于
removeEventListener
的包装器,它也可以从
事件中删除处理程序)

只需使用
元素。onclick
检索它我想知道如何获取元素的属性onclick,因为Mozilla onclick上的状态看起来像是对象的属性是的,它是一个属性。只有设置了它,它才会有一个值<代码>单击
处理程序通常与
元素.addEventListener
(和
元素.attachEvent
)绑定,无法检索。我可以问一下这是什么意思吗?谢谢你的评论,如果你想问我一个问题,我很乐意接受
var events = [];
function addEvent(element, eventName, callback) {
    element.addEventListener(eventName, callback, false);
    var found = false;
    for (var i = 0; i < events.length; i++) {
        if (events[i].el === element) {
            found = true;
            events[i].list.push(callback);
            break;
        }
    }
    if (!found) {
        events.push({
            el: element,
            list: [callback]
        });
    }
}

function viewEvents(element) {
    for (var i = 0; i < events.length; i++) {
        if (events[i].el === element) {
            return events[i].list;
        }
    }
    return null;
}
var div = document.getElementById("some_id");
addEvent(div, "click", function () {
    console.log("whatever");
});

console.log(viewEvents(div));