0

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

我有一个灯箱画廊,我想要它,如果我要单击画廊中的“下一步”按钮,它会显示下一个图像(就像它已经显示的那样),但单击其他​​任何地方,它会关闭 Facebook 窗口弹出窗口。

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

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

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

“在 id 为facebox的 div 中,除非点击的是下一个类的图像,否则关闭 facebox 窗口。”

不幸的是,无论我在哪里单击,这都会关闭窗口,包括在该类的 img 上。

任何帮助都会动摇。

4

2 回答 2

0

单击事件从“下一步”按钮冒泡到其父级,即您的#faceboxdiv。

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

于 2011-01-15T01:08:17.373 回答
0
 $('#facebox :not(.image_next)').click($.facebox.close)

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

相反,尝试

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

发生的事情是你只是在说除了'.image_next'之外的所有内容,它将包括你的脸框内的图像。因此,请改为使用 Firebug 来确定您需要排除哪些其他对象,或者只绑定到您真正想要取消事件的对象。

于 2011-05-05T01:00:50.630 回答