jquery overlay:关闭子叠加而不关闭父窗口

时间:2013-03-27 18:15:52

标签: jquery click overlay

我从可点击的图片中调用了“父”叠加层。叠加层本身有一个图像,一个文本表,一个关闭按钮(关闭)和“链接”,它们是标记元素,调用与父级相同格式的“子”覆盖,包括关闭按钮(虽然没有孩子“链接“他们自己”。

每当我点击“子”叠加层上的关闭按钮时,即使我只希望孩子关闭,孩子和父母都会关闭。我认为这是因为jquery认为close事件是针对父和子,因为它们具有相同的标记和类名。

这是脚本:

<script type="text/javascript">
$(document).ready(function () {
    $('img[rel]').overlay({
        oneInstance: false
    });

    $('a[rel]').overlay({
        oneInstance: false,
        onLoad: function () {
            $('.close').click(function (event) {
                event.preventDefault();
                $('a[rel]').overlay().close();
            });
        }
    });
});
</script>

正如你所看到的,我试图拦截孩子的近距离点击并且仅关闭孩子,但它不起作用。我做错了什么?

1 个答案:

答案 0 :(得分:0)

更改

$('a[rel]').overlay({
    oneInstance: false,
    onLoad: function () {
        $('.close').click(function (event) {
            event.preventDefault();
            $('a[rel]').overlay().close();
        });
    }
});

$('a[rel]').each(function () {
    var that = $(this);
    that.overlay({
        oneInstance: false,
        onLoad: function () {
            $('.close').click(function (event) {
                event.preventDefault();
                that.overlay().close();
            });
        }
    });
});