2011-03-17 112 views
3

我允许移动(拖动&拖放)一些包含内部链接的元素(a),用户放下它后,它将浏览器重定向到href被移动的元素。我怎么可以允许点击那个元素并拖动它呢?我使用​​插件。jquery - 如何通过拖放移动链接时如何防止点击链接?

+0

尝试使用DIV作为链接的容器和拖放股利而不是链接。 – 2011-03-17 10:14:09

+0

你是否在使用jQuery UI'draggable()'来实现这个功能? – 2011-03-17 10:14:44

回答

1

您可以通过使用preventDefault()阻止链接,按钮等操作的默认行为;

$(".selector").draggable({ 
    stop: function(event, ui) { 
     // Do some stuff when you've finished dragging your element 
     event.preventDefault(); } 
}); 

查看jQuery API了解更多信息。

0

当您想要跳过默认操作时,您需要调用event.preventDefault()。您需要确定该项目是否被拖动,因此不应导航,与标准点击相比。但是,假设你存储数据的标记,它可能是这个样子:

$('.something').click(function(event) { 
    if ($(this).data('dragging')) { 
     event.preventDefault(); 
     $(this).data('dragging',false); 
    } 
}