簡體   English   中英

可拖動元素放在哪里?

[英]Where was dropped the draggable element?

我有以下draggable調用,使用

$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.targetdiv.bar如果點擊的是做div.bar元素(否則會被div.foo )。

ui變量包含offset屬性(具有lefttop值)。

使用document.elementFromPoint函數,我們可以在該位置獲得元素,該元素正是放置元素的元素:

$someElm.draggable({     
    helper: "clone",         
    stop: function (ev, ui) {
       var dropTarget = $(document.elementFromPoint(ui.offset.left, ui.offset.top));
    }                        
});                          

即使它看起來像黑客一樣,也似乎是這樣做的唯一方法(如果有更好的替代答案/評論)。

Document.elementFromPoint(x, y)

xy以CSS像素為單位指定要檢查的坐標,相對於文檔包含的窗口或框架的左上角。

從正在調用elementFromPoint方法的文檔中返回元素,該元素是位於給定點之下的最頂層元素。 要獲取元素,請通過坐標(以CSS像素為單位)指定相對於包含文檔的窗口或框架中最左上角的點。

暫無
暫無

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

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