4
我有jQuqeryUI的問題。 我想在元素被拖放到無效目標上時運行一些代碼。 據我所知,沒有預定義的事件,但我想過要結合以下事件的信息:over,out,remove和stop,來實現這一點。然而,這可能聽起來像是一團糟,是否有更清晰的方式來做到這一點?jQueryUI可排序,可拖動的還原事件
我有jQuqeryUI的問題。 我想在元素被拖放到無效目標上時運行一些代碼。 據我所知,沒有預定義的事件,但我想過要結合以下事件的信息:over,out,remove和stop,來實現這一點。然而,這可能聽起來像是一團糟,是否有更清晰的方式來做到這一點?jQueryUI可排序,可拖動的還原事件
可以傳遞到revert
option的方法爲好,例如,如果我們採取的例子演示如下:
<div id="draggable" class="ui-widget-content">
<p>I revert when I'm not dropped</p>
</div>
<div id="droppable" class="ui-widget-header">
<p>Drop me here</p>
</div>
然後您可拖動就可以計算出是否恢復,就像這樣:
$("#draggable").draggable({
revert: function(dropped) {
var dropped = dropped && dropped[0].id == "droppable";
if(!dropped) alert("I'm reverting, what a cruel world!");
return !dropped;
}
});
You can give it a try here,dropped
傳入的參數是它被丟棄的那個元素,這是.droppable()
,如果它落在其他地方,它只是false
。
或者,如果您使用的是accept
option你可能要計算關閉該,像這樣:
var dropped = dropped && $(this).is(dropped.droppable('option', 'accept'));
這將使用接受選擇並使用.is()
,看是否可放開匹配。
嘿,謝謝你,這正是我所期待的。 這是一個很好的無證功能;) – thetrompf 2010-08-15 12:00:48
@thetrompf - 歡迎:) – 2010-08-15 12:02:36
只是出於好奇 - 你在哪裏找到這個?我在手冊中找不到這些內容。 – kastermester 2010-08-15 12:11:30