我有一个可拖动的容器,里面装满了一排图像。 每当我拖动容器时,都会出现一个单击事件,打开其中一个链接。禁用它会很棒。
在拖动事件后,stackoverflow上有很多问题。 但它们似乎不起作用,我猜是因为在这种情况下,多个链接被拖到在容器中。
到目前为止的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 :(得分: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)}
});