簡體   English   中英

取消可拖動拖動

[英]Cancel draggable dragging

我有一個draggable(jquery-ui)元素。 如何根據某些約束取消當前的draggig? 換句話說,我想約束這個可拖動元素的可能移動,但它更復雜,只基於軸或父(包含)。

我怎樣才能做到這一點?

嘗試將drag事件處理程序與event.preventDefault()一起使用;

例如:

$(*selector*).draggable({
    drag: function(event) {
        if (*condition*) {
            event.preventDefault();
         }
     }
 });

你似乎無法取消掉落。 到目前為止,我唯一的解決辦法是重新繪制所有可拖動的...

這是為了將一個確認對話框應用於drop,如下所示:

fruitbowl.draw()   // my routine which puts draggable elements into the DOM

$("trash").droppable({
    drop: function(ev, ui){
        $("#areyousure-dialog")
                .data('fruit',ui.draggable)  // passes the dragged el
                .dialog("open")
    }
}

$("#areyousure-dialog").dialog({
    buttons: {
        'Yes I\'m sure': function(){
              var fruit = $(this).data('fruit') 
              fruit.remove()
              fruitbowl.draw() 
              $(this).removeData('fruit').dialog('close')
         },
         Cancel: function(){
              fruitbowl.draw()
              $(this).removeData('fruit').dialog('close')
         }
 }

開放改進,不確定這是否是將刪除的元素傳遞給對話框的最佳方式,但對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM