导航箭头的jQuery传播问题

时间:2015-08-04 17:58:05

标签: jquery stoppropagation

点击my page上预告片的大图片(左上角)会打开一个包含较大版本图片的灯箱。然后,点击任意位置将使用以下代码关闭它:

$(document).on('click', function() {
    $('#fab_gray').remove();
});

但是我希望保留点击导航左右箭头的功能(通过阻止灯箱关闭),使用以下代码:

$( '#lightbox_left, #lightbox_right' ).click(function( event ) {
    event.stopPropagation();
});

但它不起作用:点击这些元素仍会触发上面的代码并关闭灯箱。为什么呢?

1 个答案:

答案 0 :(得分:0)

尝试

$(document).on('click', function(e) {
    if($(e.target).is("#lightbox_right") || $(e.target).is("#lightbox_left")){ return }
    $('#fab_gray').remove();
});

这里我们基本上检查点击的元素是否是这些箭头按钮中的任何一个。如果是,那么我们就回来了。否则它将继续并删除