我可以使用类似
之类的东西听取div的所有mrow click事件$('#mydiv').on('click', 'mrow', function() {
var moo = $(this).attr('id');
if (handlers[id]) {
event.stopPropagation();
handlers[id]();
}
我是否可以使用类似的设置来侦听所有所有 div的子项的所有点击事件(没有设置,为每种类型分开监听器)?树的某些部分有处理函数,有些则没有,我希望这些请求在div中传播,直到找到有处理程序的那个。
答案 0 :(得分:40)
答案 1 :(得分:12)
对于所有后代:
$('#mydiv').on('click', '*', function() {...});
对于直系后代:{javascript中所谓的孩子}
$('#mydiv').on('click', '> *', function() {...});
答案 2 :(得分:1)
我认为你可以离开选择器
$('#mydiv').on('click', function() {
selector类型:String用于过滤后代的选择器字符串 触发事件的选定元素。如果选择器为null 或者省略,事件总是在到达所选事件时触发 元件。
答案 3 :(得分:-1)
参考此http://api.jquery.com/all-selector/
尝试:
$('#mydiv').on('click', '#mydiv *', function() {
var moo = $(this).attr('id');
if (handlers[id]) {
event.stopPropagation();
handlers[id]();
}