$('.parent').on('click', function() {
alert(1);
});
$('.child').on('click', function() {
alert(2);
});
当单击父元素时,我需要启动一些附加到子元素的代码。
正如我所看到的,当用户点击父母区域(深灰色,警报= 1)时,孩子点击处理程序不会被触发,这不是孩子区域的一部分(浅灰色,警报= 2)。
我该如何解决这个问题?
答案 0 :(得分:6)
在父处理程序中显式触发对子项的单击:
$('.parent').click(function() {
alert(1);
$(this).find('.child').click();
});
$('.child').click(function(e) {
e.stopPropagation(); // Prevent bubbling to parent, to avoid loop
alert(2);
});