2013-04-02 51 views
0

嘗試一個touchEnd事件過程中使用jQuery的document.elementFromPoint()最接近的元素。它正常工作,因爲它顯示了最高的可見元素,但問題是我正在轉換正在移動的元素,因此它總是最明顯。這不是自我

我想知道是否有組合elementFromPointnot()這將工作?我一直在測試,並且只返回undefined

var x = orig.changedTouches[0].pageX, 
    y = orig.changedTouches[0].pageY, 
    d = $(document.elementFromPoint(x, y)).not('.moving'); 

「移動」是表示要轉換的元素的類。這些元素正在以document.elementFromPoint()返回。從邏輯上講,我正在尋找那些不移動的座標上的任何元素。

+0

你可以使用jquery filter(':animated')來查看是否有東西通過動畫移動 –

+0

(可能不起作用),但你可以使用:'$(「。moving」)。hide();',然後使用'$(document.elementFromPoint(x,y))',然後'$( 「.movi​​ng」)顯示();'。由於得到評估的第一件事是'document.elementFromPoint(x,y)',它將始終返回最頂端的可見元素。應用'.not(「。moving」)'什麼也不做。使用這個'hide' /'show'不應該讓'elementFromPoint'選擇 – Ian

回答

0

不幸的是,我不認爲這個功能可以在使用Javascript一種標準的方式來實現。然而,這個開發者已經設計了一個策略,允許跟蹤自定義圖層,以支持你需要做的事情:http://www.vinylfox.com/forwarding-mouse-events-through-layers/

+0

感謝http://stackoverflow.com/users/258528/shea-frederick –

相關問題