2011-03-17 106 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); 
    } 
}