Делегирование событий Javascript, обработка родительских элементов выбранных элементов?

http://jsfiddle.net/walkerneo/QqkkA/

Я видел здесь много вопросов, либо спрашивающих, либо получающих ответы о делегировании событий в javascript, но я еще не видел, однако, как использовать делегирование событий для элементов, которые не будут целевыми для события клика.

Например:

HTML:

CSS:

ul{
    padding:20px;
}
li{
    margin-left:30px;
    margin-bottom:10px;
    border:1px solid black;

}
.d{
    padding:10px;
    background:gray;
}
​

Что делать, если я хочу добавить событие click для обработки элементов liпри нажатии на них? Если я прикреплю обработчик события к элементу ul, целевыми элементами всегда будут div. Помимо проверки каждого родителя целевого элемента в функции щелчка, как я могу это сделать?

редактировать:

Я хочу использовать делегирование событий вместо:

var lis = document.getElementsByTagName('li');
for(var i=0;i

Но если я это сделаю:

document.getElementsByTagName('ul')[0].addEventListener('click',function(e){

    // e.target is going to be the div, not the li
    if(e.target.tagName=='LI'){

    } 
},false);

РЕДАКТИРОВАТЬ: Меня не интересует, как использовать библиотеки Javascript для этого, Мне интересно, как они это делают и как это можно сделать с помощью чистого js.

15
задан Brian Tompsett - 汤莱恩 2 September 2019 в 17:07
поделиться