我有一个类为body_left_details
的子div,它位于父类为body_left_bar
的div中。两个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之后是否不允许使用外部功能?那会被认为是冒泡的吗?在Windows 7 Wamp中使用Chrome进行测试。任何见解表示赞赏!
编辑:Relevant jsfiddle。单击父div将导致警报,但是单击“阅读有关内容”不会产生任何警告。
最佳答案
$(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);
}