如果单击.next_image按钮,如何转到下一个图像,但如果在其他位置单击,则关闭facebox窗口

时间:2011-01-15 01:00:36

标签: jquery event-handling click facebox

注意:我正在学习jQuery,所以请原谅新问题。

我有一个灯箱库,我想要它,如果我点击图库中的“下一个”按钮,它会显示下一个图像(就像它已经做的那样),但是点击其他地方的 ,它关闭了facebox窗口弹出窗口。

我玩了很多代码,但我被困在这里:

$('#facebox :not(.image_next)').click($.facebox.close)

我去的地方是,(翻译):

“在ID为 facebox 的div中,除非点击位于 image next 类,否则请关闭面板框窗口。”

不幸的是,无论我点击哪里,这都关闭了窗口,包括在那个类的img上。

任何帮助都会摇滚。

2 个答案:

答案 0 :(得分:0)

点击事件从“下一步”按钮冒泡到其父级,即#facebox div。

在“下一步”按钮的点击处理程序中调用event.stopPropagation(),以阻止您的处理程序在#facebox上“看到”该事件。

答案 1 :(得分:0)

 $('#facebox :not(.image_next)').click($.facebox.close)

这正是你所说的你想要的。注意。

相反,请尝试

 $('#facebox :not(.image_next), <other objects in windows>').click($.facebox.close);

发生的事情是你只是说一切而是'.image_next',其中包括你脸盒内的图像。因此,使用Firebug来确定您需要排除的其他对象,或者仅绑定到您真正想要取消事件的对象。