Пишу обработчик событий, использующий делигирование. Но возникла проблема.
Вот функция:
function click(selector, callback) {
var temp = function(e) {
e = e || window.event;
var target = e.target || e.srcElement;
if(target.matches(selector)) callback();
}
document.addEventListener("click", temp, false);
}
При этом, я хочу, чтобы срабатывание шло от самого "глубокого" элемента DOM. Т.е. если я поставлю обработчики и на div, и на body, то обработчик div должен сработать первым, несмотря на место в коде. У меня же выходит, что место в коде отыгрывает наибольшую роль.
Как же быть? Как это реализирует jQuery, к примеру? Берет огромный массив обработчиков и положения объектов?