jQuery将事件传递给底层元素

时间:2011-03-02 18:22:44

标签: jquery jquery-click-event

我有一个图像,其中绑定了一个点击事件,可以增大/缩小图像。我正在使用jQuery将放大镜放在图像的上角。问题是点击放大镜不会触发图像的增长/缩小。是否有jQuery方法将点击传递给底层元素或让图像订阅放大镜的点击事件?

我知道我可以在放大镜上放置一个点击处理程序并让它触发图像的点击事件,但我想知道是否还有另一种更好的方法。

在回复评论时,我的一般HTML是:

<div style="position: relative">
   <img src="growme.jpg" />
   <img src="magnify.jpg" style="position: absolute; top: 0;" />
</div>

和jQuery的伪代码

$(growme).load(
   $(growme).parent().append($(magnify));
   $(growme).click(...);
)

2 个答案:

答案 0 :(得分:1)

  

...让图片订阅   放大镜的点击事件?

而不是$('#image')。点击(...),执行$('#image,#image.magnify')。click()。

答案 1 :(得分:0)

所以我自己整理了这个。我可以使用jQuery的.live(),它会在添加元素时自动绑定事件。所以我只需要调用我的(文档).ready,每次添加放大镜,我都可以让它为我单击上一个元素(我的图像)。

jQuery(".magnify").live("click", function() {
     jQuery(this).prev().click();
});