一个bookmarklet,它将onclick事件添加到页面上的每个元素?

时间:2010-12-03 15:40:09

标签: javascript bookmarklet

我想创建bookmarklet,当你按下它时,页面上的所有元素都会获得一个onclick事件,该事件调用一个函数,该元素作为参数或者至少是元素id / class / something,这可能吗?在那种情况下,我该怎么做?

2 个答案:

答案 0 :(得分:2)

click气泡。所以只需绑定到<body>并检查事件元素的target是什么(您需要进行一些事件规范化以使IE与其他所有人不同。)

event.target是实际的DOM元素,因此您可以过滤那些要在此处过滤的内容。

这样做的好处是,无论页面上有多少元素,您只需要一个事件处理程序。 (这意味着在具有数百或数千个元素的页面上性能会更好。)

答案 1 :(得分:0)

javascript:void( document.body.onclick = function (event) { event = event || window.event; var element = event.target || event.srcElement; alert(element.textContent) } )