Приветсвую всех, уважаемые пользователи форума!
Написал такой скрипт для делегирования событий:
(function() {
var d = document.documentElement,
m = d.matchesSelector || d.webkitMatchesSelector || d.oMatchesSelector || d.mozMatchesSelector || d.msMatchesSelector;
Element.prototype.addEventDelegate = function(type, selector, fn) {
this.addEventListener(type, function(e) {
e = e && e.target || window.event.srcElement;
if(m.call(e, selector)) {
fn.call(e);
}
}, false);
}
})();
window.onload = function() {
document.body.addEventDelegate('click', 'p', function() {
alert('Вы кликнули по тэгу "p"!');
});
}
Всё работает, но... когда кликаешь по более вложенному элементу, то событие для родительского элемента не срабатывает. Нужно, чтобы всё работало как в jQuery. Кто-нибудь знает, как более грамотно так сделать?
Спасибо.