jQuery Loupe and Click События
В настоящее время я использую плагин loupe для увеличения большой организационной картины, которая настроена как карта изображений. Обычно, когда пользователь щелкает часть этой карты изображений, они перенаправляются, к сожалению, я не могу найти метод, который позволит лупе отвечать пользователю, щелкающему ссылку на карте изображений. Любой совет будет принята с благодарностью!
Спасибо!
3 ответа
Я не знаком с этим конкретным плагином, но вы не можете просто прикрепить свой собственный click
обработчик события?
Учитывая эту разметку (на основе демонстрации в репозитории GitHub плагина):
<div>
<a class="demo" href="path/to/some/url">
<img src="path/to/image" width="191" height="240" />
</a>
<img class="demo" src="path/to/image" width="191" height="240" />
</div>
Вы можете прикрепить обработчик кликов следующим образом:
$(function(){
$('a.demo').on('click', function(e){
// prevent the link from going anywhere (if that's what you want)
e.preventDefault();
// do something else...
alert('The Loupe link was clicked!');
});
});
Отредактировано, чтобы добавить, что если вы работаете с картой изображения, вы можете просто прикрепить обработчик события щелчка к <area>
элементы, что-то вроде этого:
$('area').on('click', function(e){
// stuff here
});
Если вы хотите, чтобы лупа перешла к родительскому тегу привязки к исходному тегу img, попробуйте это, если это не сработает, добавьте класс ко всем исходным изображениям и добавьте в селектор перед img.
$('.loupe').click(function(){
$("img[src='"+$(this).find('img').attr('src')+"']").parent()[0].click();
});
Это старый вопрос, но ответ довольно прост:
Просто прикрепите слушатель события к классу .loupe
$('.loupe').on('click', function (e) {
e.preventDefault();
alert('The Loupe link was clicked!');
});