Jquery 视频JS阻止单击事件传播到子元素

Jquery 视频JS阻止单击事件传播到子元素,jquery,video,plugins,Jquery,Video,Plugins,我用视频JS插件创建了一个简单的视频页面。视频在弹出模块中播放。我想做的是在点击视频包装器时关闭这个弹出窗口,而不是视频。但我没有这样做,甚至当我点击视频控件时,弹出窗口也会关闭。我的代码如下所示: $('.popup-video').click(function() { $(this).fadeOut(500); // Pause Video }); $('.popup-video>div').click(function(e) { e.stopPropagati

我用视频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方法用于完成此操作,但不是现在!我做错了什么?

您只需检查单击的元素事件目标是否确实是此事件处理程序中引用的元素,如果是,则只进行淡入淡出。这将避免从子元素传播单击并触发函数的问题:

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

控制台上有错误吗?@undefined no nothing.@NOjAN try e.cancelBubble=true;你试过@adeneo吗?非常感谢。成功了。请写一个答案,以便我能选择正确的答案。