Подтвердить что ты не робот

Слушайте все события onClick всех детей в jQuery

Я могу прослушивать все события щелчка мыши в div, используя sometihng like

$('#mydiv').on('click', 'mrow', function() {
    var moo = $(this).attr('id');
    if (handlers[id]) {
        event.stopPropagation();
        handlers[id]();
}

Могу ли я использовать подобную настройку для прослушивания всех событий щелчка всех дочерних элементов div (без настройки, отдельных слушателей для каждого типа)? В некоторой части дерева есть функции обработчика, а некоторые нет, и я хочу, чтобы эти запросы распространялись в пределах div, пока не будет найден обработчик.

4b9b3361

Ответ 1

$('#mydiv').on('click', '*', function() {

* будет связываться со всем элементом внутри #mydiv

Демо --> http://jsfiddle.net/Vjwqz/1/

Ответ 2

Для всех потомков:

$('#mydiv').on('click', '*', function() {...});

Для прямых потомков: {то, что называется дочерними в javascript}

$('#mydiv').on('click', '> *', function() {...});

Ответ 3

Я думаю, вы можете оставить селектор

$('#mydiv').on('click', function() {

selector Тип: String Селекторная строка для фильтрации потомков выбранных элементов, которые запускают событие. Если селектор имеет значение null или опущен, событие всегда срабатывает, когда оно достигает выбранного элемента.

http://api.jquery.com/on/

Ответ 4

обратитесь к http://api.jquery.com/all-selector/

пытаться:

$('#mydiv').on('click', '#mydiv *', function() {
var moo = $(this).attr('id');
    if (handlers[id]) {
        event.stopPropagation();
        handlers[id]();
}