You can add an event handler to the parent element, and then determine if one of the child elements with the desired class name is clicked:
var parent = document.getElementById('parent');
parent.addEventListener('click', function (e) {
if ((' ' + e.target.className + ' ').indexOf(' item ') !== -1) {
console.log(e.target);
}
});
Example here
or...
var parent = document.getElementById('parent');
parent.addEventListener('click', function (e) {
Array.prototype.forEach.call(parent.querySelectorAll('.item'), function (el) {
if (el === e.target) {
console.log(e.target);
}
});
});
Example here
, . , , . , :
var parent = document.getElementById('parent');
parent.addEventListener('click', function (e) {
var target = e.target;
while (target && target.parentNode !== parent) {
target = target.parentNode;
if (!target) { return; }
}
if ((' ' + target.className + ' ').indexOf(' item ') !== -1){
console.log(target);
}
});
var parent = document.getElementById('parent');
parent.addEventListener('click', function (e) {
var target = e.target;
while (target && target.parentNode !== parent) {
target = target.parentNode;
if (!target) { return; }
}
Array.prototype.forEach.call(parent.querySelectorAll('.item'), function (el) {
if (el === target) {
console.log(target);
}
});
});