Букмарклет, который добавляет событие onclick для каждого элемента на странице? - PullRequest
0 голосов
/ 03 декабря 2010

Я хочу сделать букмарклет, и когда вы нажимаете на него, все элементы на странице получают событие onclick, которое вызывает функцию с элементом в качестве параметра или, по крайней мере, с элементами id / класс / что-то, это возможно?В таком случае, как бы я это сделал?

Ответы [ 2 ]

2 голосов
/ 03 декабря 2010

click пузыри. Так что просто свяжитесь с <body> и проверьте, что такое target элемента события (вам нужно немного нормализовать события, чтобы IE отличался от всех остальных.)

event.target - это фактический элемент DOM, поэтому вы можете фильтровать все, что хотите фильтровать в этой точке.

Это имеет то преимущество, что не имеет значения, сколько элементов на странице, вам нужен только один обработчик событий для всех них. (Это означает, что производительность будет лучше на страницах с сотнями или тысячами элементов.)

0 голосов
/ 03 декабря 2010
javascript:void( document.body.onclick = function (event) { event = event || window.event; var element = event.target || event.srcElement; alert(element.textContent) } )     
...