我有一个带有body_left_details
类的子div,它位于父类div中,类为body_left_bar
。这两个div都附加了一个onclick事件,但是当我点击body_left_bar
时,我想阻止body_left_details
冒泡。这是相关的代码:
$(function() {
$('.body_left_bar').click(function() {
body_right_load('parent');
})
$('.body_left_details').click(function(e) {
e.stopPropagation();
body_right_load('child');
})
})
function body_right_load(str) {
alert(str);
}
足够简单。但是为什么当我点击body_left_details
时,没有调用body_right_load('child')?我在e.stopPropagation()之后直接测试了alert(),它运行正常。 stopPropagation后是不允许外部函数?这会被认为是冒泡吗?
在Chrome 7上测试Windows 7 wamp。有任何见解赞赏!
编辑:Relevant jsfiddle。单击父div将导致警报,但单击“Read about it”不会产生任何结果。
答案 0 :(得分:1)
$(function() {
$('.body_left_bar').on('click', function() {
body_right_load('parent');
})
$('.body_left_details').on('click', function(e) {
e.stopImmediatePropagation();
body_right_load('child');
})
})
function body_right_load(str) {
alert(str);
}