[英]Where was dropped the draggable element?
我有以下draggable
調用,使用jqueryui :
$someElm.draggable({
helper: "clone",
stop: function (ev, ui) {
/* where was this dropped? */
}
});
在停止處理程序上,我需要放置目標。 我不使用droppable,而只使用可拖動的。
那么,如何獲得投放目標?
ev.target
似乎是被拖動的元素。
“ 目標”是指拖放了可拖動對象(拖動停止)的頂部元素。 這可以與ev.target.parent()
不同。
與點擊處理程序建立關聯:
div.foo > div.bar
偵聽的點擊div.foo
將捉對點擊div.bar
,但ev.target
將div.bar
如果點擊的是做div.bar
元素(否則會被div.foo
)。
ui
變量包含offset
屬性(具有left
和top
值)。
使用document.elementFromPoint
函數,我們可以在該位置獲得元素,該元素正是放置元素的元素:
$someElm.draggable({
helper: "clone",
stop: function (ev, ui) {
var dropTarget = $(document.elementFromPoint(ui.offset.left, ui.offset.top));
}
});
即使它看起來像黑客一樣,也似乎是這樣做的唯一方法(如果有更好的替代答案/評論)。
Document.elementFromPoint(x, y)
x
和y
以CSS像素為單位指定要檢查的坐標,相對於文檔包含的窗口或框架的左上角。從正在調用elementFromPoint方法的文檔中返回元素,該元素是位於給定點之下的最頂層元素。 要獲取元素,請通過坐標(以CSS像素為單位)指定相對於包含文檔的窗口或框架中最左上角的點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.