我从可点击的图片中调用了“父”叠加层。叠加层本身有一个图像,一个文本表,一个关闭按钮(关闭)和“链接”,它们是标记元素,调用与父级相同格式的“子”覆盖,包括关闭按钮(虽然没有孩子“链接“他们自己”。
每当我点击“子”叠加层上的关闭按钮时,即使我只希望孩子关闭,孩子和父母都会关闭。我认为这是因为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>
正如你所看到的,我试图拦截孩子的近距离点击并且仅关闭孩子,但它不起作用。我做错了什么?
答案 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();
});
}
});
});