我有一个子类body_left_details
的子div,它位于父类div body_left_bar
中。这两个div都附有onclick事件,但是当您点击body_left_details
时,我想阻止body_left_bar
冒泡。以下是相关代码:javascript stopPropagation()阻止函数被触发
$(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(),并且它工作正常。停止传播后是否允许外部功能?这会被认为是冒泡吗?
在Chrome中测试Windows 7 wamp。任何洞察赞赏!编辑:Relevant jsfiddle。点击父div将导致警报,但点击“阅读有关”不会产生任何结果。
它可能与'body_right_load()'*真正*声明的方式有关。如果它真的看起来像你发布的内容,它会起作用。 – Pointy 2012-08-09 17:13:38
请提供演示此问题的小提琴。 – Niko 2012-08-09 17:15:28
事实上,我已经略微减弱了总体布局,但是我已经改变了body_right_load以显示如上并且仍然不会触发。给我一小把小提琴。 – 2012-08-09 17:16:06