2015-05-29 37 views
0

我有一個可拖動的容器中充滿了一排圖像。 每當我拖動容器時,會出現點擊事件,打開其中一個鏈接。禁用此功能會很好。拖拽容器(幻燈片)後阻止點擊事件

在拖動事件之後,有很多關於stackoverflow adressing click的問題。 但他們似乎沒有工作,我猜測,因爲在這種情況下,多個鏈接被拖在一起一個容器。

JQUERY到目前爲止

var cancelFollow = false; 

$(function(){ 

    $(".my-gallery").click(function(){ 
    e.stopPropagation(); 
    if (cancelFollow) 
    { 
     cancelFollow = false; 
     return false; 
    } 
    return true; 
    }); 

    $(".my-gallery").draggable({ 
    axis: "x", 

    start: function(e, ui){}, 

    stop: function(e, ui){ 
     cancelFollow = true; 
    } 
    }); 
}); 

HTML

<div class="my-gallery">  
     <a href="img/slideshow1a.jpg"> 
      <img src="img/slideshow1a.jpg"/> 
     </a> 

     <a href="img/slideshow1b.jpg"> 
      <img src="img/slideshow1b.jpg"/> 
     </a>  
</div> 

任何幫助,不勝感激!

+0

這裏順便項目:http://emilpabon.driesbos.com/ – Driesketeer

回答

0

您可以在需要時使用解除綁定功能。 jquery unbind 不知道,但是否可以使用類似:

html changed like -> 

<div class="my-gallery">  
    <a data-link="img/slideshow1a.jpg" href='javascript:void(0)'> 
     <img src="img/slideshow1a.jpg"/> 
    </a> 

    <a data-link="img/slideshow1b.jpg" href='javascript:void(0)'> 
     <img src="img/slideshow1b.jpg"/> 
    </a>  
</div> 

js part -> 
function thingsToDoOnclick(){ 
    window.location.href = $(this).data('link') 
} 

$(".my-gallery").draggable({ 
    axis: "x", 

    start: function(e, ui){$(ui.helper).unbind('click', thingsToDoOnclick)}, 

    stop: function(e, ui){$(ui.helper).bind('click', thingsToDoOnclick)} 
}); 
+0

你的意思是拖動過程中取消綁定?如果你能舉一個例子,那會很棒。相當jQuery noob仍然! – Driesketeer

+0

請檢查您是否可以使用更新後的答案 – ravi1991

+0

否。幻燈片顯示爲不可裁剪。我會嘗試變化,並檢查一下答案。謝謝! – Driesketeer