Вы можете использовать всплывающее событие . Присоедините обработчик событий к корню и прослушайте click
события:
document.onclick = function(event) {
event = event || window.event; // IE specials
var target = event.target || event.srcElement; // IE specials
if(target.nodeName === "SPAN") {
alert('hi');
}
};
Теперь это не будет работать, если внутри span
есть другие элементы, и вы хотите захватить события click
внутри span
s. В этом случае вы должны пройти DOM:
document.onclick = function(event) {
event = event || window.event; // IE specials
var target = event.target || event.srcElement; // IE specials
while(target.nodeName !== "SPAN" && target !== null) {
target = target.parentNode;
}
if(target) {
alert('hi');
}
};