2016-07-15 50 views
2

全部 現在我定義了一個更改點擊複選框,當chexkbox檢查時,我會顯示一個提示,我也定義點擊我的HTML,當我點擊到處時,我會隱藏一個提示,但我的問題就是當我檢查的複選框,提示沒有在IE中顯示,我 經過調試,我發現身體點擊是觸發,它是一個冒泡事件?我試着寫在IE瀏覽器冒泡事件

window.event ? window.event.cancelBubble = true : e.stopPropagation();

,但它不起作用,身體點擊仍在IE中觸發,在Google中沒有這個問題,怎麼樣處理呢?

$(document).on("change", ".checked", function (self) { 
 
    $(".circle_bot").show(); 
 
    window.event ? window.event.cancelBubble = true : e.stopPropagation(); 
 
} 
 
       
 
$("body").click(function() { 
 
     $(".circle_bot").hide(); 
 
    });
<body> 
 
    ... 
 
    <div class="circle_bot"></div> 
 
    ... 
 
<input type="checkbox" class="checked"/> 
 
</body>

我只想觸發檢查一下,是不是chenced複選框,當觸發體點擊。

+0

請按照[mcve] – charlietfl

+0

顯示所有相關的代碼嗨,我寫我的代碼,謝謝你的樣子,是否有任何解決方案來處理它? – zhang

回答

2

您可以檢查哪些點擊的目標是,做類似:

$("body").click(function(event) { 
    // don't do anything if checkbox clicked 
    if (!$(event.target).is('.checked')) { 
    $(".circle_bot").hide(); 
    } 
}); 

注意,在jQuery的所有事件處理程序提供event對象,所以你不必看是否window.event是可用的,它是做爲你

+0

謝謝你解決我的問題。讚賞〜 – zhang