-1

在实际网站中,当从缩略图中单击图像时,它会打开幻灯片。

我创建了一个新的 onclick 事件

$('.thumbnails a').click(function(event) {

    //my piece of code

});

我如何取消现有的点击事件,不知道哪个选择器被用来触发事件(父母?孩子?特定类?

我试过这样的事情:

event.stopPropagation()

$(this).stop()

没有成功

重新编辑----------------------------------- ---------

html开头:

   <div class="images">


    <a title="Voyage itinérant en Boutre" rel="prettyPhoto[product-gallery]" class="zoom" href="http://dev.snorkeling-voyages.com/wp-content/uploads/2013/05/snorkeling-madagascar-001_alefa.jpg" itemprop="image">
    <img width="462" height="392" class="yit-image attachment-shop_single" src="http://dev.snorkeling-voyages.com/wp-content/uploads/2013/05/snorkeling-madagascar-001_alefa-462x392.jpg">
    </a>


    <div class="thumbnails nomagnifier">

    <a class="zoom first" rel="prettyPhoto[product-gallery]" title="bateau itinerant madagascar" href="http://dev.snorkeling-voyages.com/wp-content/uploads/2013/05/snorkeling-madagascar-002_alefa.jpg">
    <img width="100" height="80" class="yit-image attachment-shop_thumbnail" src="http://dev.snorkeling-voyages.com/wp-content/uploads/2013/05/snorkeling-madagascar-002_alefa-100x80.jpg"></a> 

jquery更改缩略图上的特色图片点击

  $('.thumbnails a').click(function(event) {

    var destination= $('.images >a');
    destination.empty();
    $(this).prependTo(".images >a");

    $('.images a a img').attr('width','470');
    $('.images a a img').attr('height','392');      
    //replace src string
    var src=($('.images img').attr('src'));     
     var pattern = /[100x80]/;
     if(pattern.test(src))
            src=src.replace("100x80", "462x392");

     $('.images a a img').attr('src',src);           
     $('.images a a img').attr('class','yit-image attachment-shop_single');

});

@bfavaretto 评论帮助我本地化了现有的 .zoom 点击事件(非常有用,谢谢)(我怎么知道 js 文件?)

我添加了一个

     $('.zoom a').click(function(event) {
    return false ;
           // or  event.preventDefault();
});

这并不能阻止滑块仍然被打开!

4

5 回答 5

2

您可以使用以下命令从元素中删除所有其他点击处理程序.off

$('.thumbnails a').off('click');

如果事件被委托,你需要这样的东西:

$(document).off('click', '.thumbnails a');

但是,您必须在单击处理程序之外执行此操作,否则可能为时已晚。

于 2013-08-30T14:17:40.520 回答
2

您可以使用.preventDefault()来阻止链接执行:

event.preventDefault();

jsFiddle在这里

于 2013-08-30T14:15:01.213 回答
1

您可以尝试使用以下两个注释语句中的任何一个:

$('a').click(function(e){
//e.preventDefault();

//return false;
});
于 2013-08-30T14:17:25.807 回答
1

我做了别的事情如果我明白你想要什么,请看看

<a href="http://www.google.com">off</a>
<a href="http://www.google.com">off</a>
<a href="http://www.google.com">off</a>
<a href="http://www.google.com">off</a>

和javascript:

$('a').click(function(event){
    event.preventDefault();
    if ($(this).attr('data-status') == 'on') {
        $(this).attr('data-status','off');
        $(this).html('off');
        return;
    }

    var areOn = 0;
    $('a').each(function(){
        if ($(this).attr('data-status') == 'on') {
            areOn++;
        }
    })

    if (areOn == 0) { 
        $(this).attr('data-status','on');
        $(this).html('on');
    }
})

http://jsfiddle.net/ERMtg/9/

于 2013-08-30T14:22:03.683 回答
0

你可以用return false,我觉得可以

$('.thumbnails a').click(function(event) {
    return false;
});
于 2013-08-30T14:16:44.817 回答