在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 怎么獲取鼠標(biāo)當(dāng)前位置下的DOM元素,或者判斷當(dāng)前位置有沒有元素。

怎么獲取鼠標(biāo)當(dāng)前位置下的DOM元素,或者判斷當(dāng)前位置有沒有元素。

怎么獲取鼠標(biāo)當(dāng)前位置下的DOM元素的ID,或者判斷當(dāng)前位置有沒有DOM元素?

鼠標(biāo)是有圖片跟隨的,是用onmousemove方法寫的,不知道會不會影響獲取鼠標(biāo)當(dāng)前位置的DOM元素。

想過用碰撞的方法來實現(xiàn),不過頁面中DOM元素太多,碰撞的話只能一對一。跟隨鼠標(biāo)移動的圖片占一個。那么剩下來的DOM元素怎么裝入第二個位置,用數(shù)組嗎.......不會,或者算法。。求指點。

回答
編輯回答
你好胸

只知道有個document.elementFromPoint()document.elementsFromPoint()的API(注意區(qū)別是element后邊有沒有s),但是并沒用過……所以不知道兼容怎樣??梢詤⒖?a rel="nofollow noreferrer">MDN - elementsFromPoint以及javascript標(biāo)準(zhǔn)參考教程 - document 對象~


類似冷門的API不止這一個,比如可以參考jjc的你可能不知道的前端知識點

2017年1月6日 16:10
編輯回答
耍太極

當(dāng)前位置當(dāng)然一定會有 DOM 元素啦,至少 body 和 document 元素是充滿整個窗體空間的啊。哦,也可能你把 mousemove 綁定在 window 上,mousedown 時鼠標(biāo)移出窗口也是會觸發(fā) mousemove 的,這個倒是要注意一樣。

關(guān)鍵 API: document.elementFromPoint

var element = document.elementFromPoint(x, y);

嗯,你給一個 x,y 坐標(biāo),這個 API 就給你返回該點最上層的 DOM 元素。Caniuse.com 上顯示這個 API 可是兼容到 IE6 呢!這么好用的 API 居然鮮有人知。elementFromPoint 兼容性

貌似鼠標(biāo)跟隨的元素就在最上層?沒關(guān)系,給這個圖片設(shè)置 css point-events: none,讓它對鼠標(biāo)形同虛設(shè),這樣 document.elementFromPoint 就能返回你要的 DOM 啦。

2018年8月15日 05:15
編輯回答
尤禮

用事件委托應(yīng)該可以實現(xiàn)。具體就是讓父元素監(jiān)聽onmoseenter或者其他事件,當(dāng)子元素觸發(fā)時父元素判斷就可以了。

2017年3月27日 15:13
編輯回答
吢丕

給document綁定onmousemove事件,然后用event.currentTarget判斷?
嗯...沒了解過這樣的需求

2017年7月11日 22:18