jQuery Loupe and Click События - PullRequest
       50

jQuery Loupe and Click События

0 голосов
/ 25 февраля 2012

В настоящее время я использую плагин loupe для увеличения большой организационной картины, которая настроена как карта изображений. Обычно, когда пользователь щелкает часть этой карты изображений, они перенаправляются, к сожалению, я не могу найти метод, который позволил бы лупе отвечать пользователю, нажимающему ссылку на карте изображений. Любой совет будет принята с благодарностью!

Спасибо!

Ответы [ 3 ]

0 голосов
/ 25 сентября 2013

Это старый вопрос, но ответ довольно прост: -

Просто прикрепите прослушиватель событий к классу .loupe

$('.loupe').on('click', function (e) {
  e.preventDefault();
  alert('The Loupe link was clicked!');
});
0 голосов
/ 26 октября 2016

Если вы хотите, чтобы лупа переходила к родительскому тегу привязки к исходному тегу img, попробуйте это, если это не сработает, добавьте класс для всех исходных изображений и добавьте в селектор перед img.*

$('.loupe').click(function(){   
      $("img[src='"+$(this).find('img').attr('src')+"']").parent()[0].click();
});
0 голосов
/ 25 февраля 2012

Я не знаком с этим конкретным плагином, но разве вы не можете просто прикрепить свой собственный обработчик событий 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
});
...