JQuery передать событие на базовый элемент - PullRequest
1 голос
/ 02 марта 2011

У меня есть изображение с привязанным событием щелчка, которое увеличивает / уменьшает изображение.Я использую 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 ]

1 голос
/ 02 марта 2011

... чтобы изображение подписывалось на событие клика увеличительного стекла?

Вместо $ ('# image'). Click (...), выполните $ ('# image, #image .magnify'). Click ().

0 голосов
/ 02 марта 2011

Так что разобрался с этим сам. Я могу использовать .live () jQuery, который будет автоматически связывать события при добавлении элементов. Поэтому я просто вызываю свой (документ) .ready, и каждый раз, когда добавляется увеличительное стекло, я могу заставить его щелкнуть предыдущий элемент (мое изображение) для меня.

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