Ответ 1
$('#mydiv').on('click', '*', function() {
*
будет связываться со всем элементом внутри #mydiv
Демо -->
http://jsfiddle.net/Vjwqz/1/
Я могу прослушивать все события щелчка мыши в div, используя sometihng like
$('#mydiv').on('click', 'mrow', function() {
var moo = $(this).attr('id');
if (handlers[id]) {
event.stopPropagation();
handlers[id]();
}
Могу ли я использовать подобную настройку для прослушивания всех событий щелчка всех дочерних элементов div (без настройки, отдельных слушателей для каждого типа)? В некоторой части дерева есть функции обработчика, а некоторые нет, и я хочу, чтобы эти запросы распространялись в пределах div, пока не будет найден обработчик.
$('#mydiv').on('click', '*', function() {
*
будет связываться со всем элементом внутри #mydiv
Демо -->
http://jsfiddle.net/Vjwqz/1/
Для всех потомков:
$('#mydiv').on('click', '*', function() {...});
Для прямых потомков: {то, что называется дочерними в javascript}
$('#mydiv').on('click', '> *', function() {...});
Я думаю, вы можете оставить селектор
$('#mydiv').on('click', function() {
selector Тип: String Селекторная строка для фильтрации потомков выбранных элементов, которые запускают событие. Если селектор имеет значение null или опущен, событие всегда срабатывает, когда оно достигает выбранного элемента.
обратитесь к http://api.jquery.com/all-selector/
пытаться:
$('#mydiv').on('click', '#mydiv *', function() {
var moo = $(this).attr('id');
if (handlers[id]) {
event.stopPropagation();
handlers[id]();
}