1

我有一个带有 class 的子 div,body_left_details它位于带有 class 的父 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 中在 Windows 7 wamp 上进行测试。任何见解表示赞赏!

编辑:相关的 jsfiddle。单击父 div 将导致警报,但单击“阅读它”不会产生任何结果。

4

1 回答 1

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);
}​
于 2012-08-09T17:31:54.537 回答