2013-08-25 42 views
-1

我使用Video-JS插件創建了一個簡單的視頻頁面。視頻在彈出的模塊中播放。我試圖做的是關閉這個彈出窗口,每當視頻包裝被點擊,而不是視頻。但我沒有這樣做,甚至當我點擊視頻控件彈出關閉。我的代碼看起來是這樣的:用這樣的伎倆Video-JS阻止點擊事件傳播到子元素

$('.popup-video').click(function() { 
    $(this).fadeOut(500); 
    // Pause Video 
}); 
$('.popup-video>div').click(function(e) { 
    e.stopPropagation(); 
}); 
$('.popup-video>video').click(function(e) { 
    e.stopPropagation(); 
}); 

.stopPropagation方法,但不是現在!我究竟做錯了什麼?

+0

控制檯上的任何錯誤? – undefined

+0

@undefined no nothing。 – Nojan

+0

@NOjAN試試'e.cancelBubble = true;' –

回答

1

您可以檢查clicked元素(事件目標)是否事實上是事件處理程序(this)中引用的元素,並且只有在這種情況下才執行淡化。這將避免點擊從子元素傳播並觸發該功能的問題:

$('.popup-video').click(function(e) { 
    if (e.target === this) $(this).fadeOut(500); 
}); 
相關問題