获取所有带有 onclick 的元素?

tol*_*oli 4 javascript jquery onclick

我正在寻找一种方法来列出onclick页面上具有事件的所有元素。

Jos*_*ods 5

编辑以回答更多问题...


我不确定您在问什么,但我怀疑您正在寻找一种方法来查看是否有代码附加到元素的 onclick 事件?如果是这样,试试这个:

var allElements = document.getElementsByTagName('*');
for ( var i = 0; i<allElements.length; i++ ) {
    if ( allElements[i].className !== 'theClassNameYoureLookingFor' ) {
        continue;
    }
    if ( typeof allElements[i].onclick === 'function' ) {
        // do something with the element here
        console.log( allElements[i] );
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您想要一些关于附加到 onclick 事件的实际函数的信息,您需要使用 Firebug 或类似的东西来输出函数并检查它,因为它可能在运行时生成(即函数声明可能不只是坐在理论上可以轻松访问的页面上)。尝试使用上面提供的代码,而不是

console.log( allElements[i] );

console.log( allElements[i].onclick );

现在,在 firebug 中,您可以将鼠标悬停在它打印的函数上并查看它们的代码。