jQuery:有什么方法可以选择div之外的“剩余区域”......?

时间:2011-01-12 19:37:42

标签: jquery

我有一个脚本,我单击一个图像来放大它,但我希望用户能够在图像外部点击以关闭它。

我注意到,如果我将一个功能设置到身体

$(body).click(function{ closeImage(); })

是该函数与我为图像创建的常规函数​​之间的冲突(仅举例来说,我们称之为openImage();)...

有什么方法可以选择“剩余区域”,因此它是屏幕中唯一可以触发closeImage();的部分吗?

更新:澄清我的问题:如果我在男孩上设置了一个功能,然后我点击图像,图像不再缩放,因为它与身体功能冲突

4 个答案:

答案 0 :(得分:1)

请参阅this answer,了解如何将事件处理程序附加到正文和元素,但取消事件冒泡,以便不为特定的子处理程序触发正文处理程序。

答案 1 :(得分:0)

我宁愿在身上放一块“玻璃”,上面有图像(当然还要点击那个玻璃)。很多网站都喜欢这样(也有非透明玻璃)。

答案 2 :(得分:0)

试试这个:

$(body + ':not(#imageID)').click(function{ closeImage(); });

答案 3 :(得分:0)

考虑使用one(),这样一旦触发它就会自动取消绑定。

http://api.jquery.com/one/