2011-07-10 30 views
-1

具體而言,使用jQuery進行拖放。修改jQuery函數中涉及的DOM元素

     $(".note").droppable({ 
          drop: function() { 

          } 
         }); 

我如何獲得的DOM元素:

1)被拖動/下降了嗎?

2)正在丟棄?

後續問題:如何我可以自己回答這個問題的任何建議?

+0

你看過文檔嗎? – Marcin

+0

關於可拖動和可插入的插件和jQuery的一般筆記,是的。因爲我幾年除了應用程序之外,Web開發對我來說有點嚇人。 – Jeremy

回答

1

如果掛鉤drop事件可拖動與接受兩個參數,eventui功能,那麼this是可放開可拖動的原始DOM元素被丟棄,並ui.draggable是可拖動。

the docs on the drop event

時接受的可拖動被丟棄「在」這可放開(的公差範圍內)觸發此事件。在回調中,$(this)表示可拖動的拖放。 ui.draggable代表可拖動。

在那裏他們說droppoble是$(this),但這是因爲他們假設你想要一個jQuery實例包裹它。 this將是原始DOM元素。

例如爲:

$("your selector here").droppable({ 
    drop: function(event, ui) { 
     // this = raw DOM element of droppable 
     // $(this) = creates jQuery wrapper around the DOM element 
     // `ui.draggable` = draggable 

     // Let's make the draggable red, and the droppable blue: 
     ui.draggable.css("color", "red"); 
     $(this).css("color", "blue"); 
    } 
}); 

Here's a live copy的它們與上述行動的例子之一。

+0

感謝朋友。我仍然不清楚爲什麼這個函數的參數是(event,ui),但是這當然有效。我實際上在文檔中閱讀了這些內容,但無法正常工作,因爲我沒有在範圍中定義ui,並一直在收到javascript錯誤。 – Jeremy

+1

@Jeremy:參數是'event'和'ui',因爲這就是jQuery UI庫定義它們的方式。 :-)這是他們如何定義API的。幾乎所有在jQuery UI(不是jQuery,jQuery UI)中的「事件」式回調都有這兩個參數; ui對象的內容根據事件相關的對象而有所不同(可拖動,可拖拽,對話框,自動完成等),但這些通常是這樣的,它將被記錄 - 有時是微妙的 - 在jQuery UI文檔。 –