我有一個子類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