1

我有一个带有单击事件的图像,它会增大/缩小图像。我正在使用 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(...);
)
4

2 回答 2

1

...图像是否订阅了放大镜的点击事件?

不要使用 $('#image').click(...),而是使用 $('#image, #image .magnify').click()。

于 2011-03-02T18:27:45.007 回答
0

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

jQuery(".magnify").live("click", function() {
     jQuery(this).prev().click();
});
于 2011-03-02T19:04:11.347 回答