0
所以我正在做一個拖放的東西。當用戶抓取元素時,我需要爲dragenter添加一個事件偵聽器給每個元素。在那個監聽器函數中,當鼠標移過那個元素時,我需要它來獲取並保存clientX。我遇到的問題是它獲取第一個元素的鼠標位置,並保持每個其他元素相同的一個。我怎樣才能解決這個問題?爲每個獲取客戶端X的元素添加一個函數
代碼:
if(editor_children[i].nodeType != 3)
{
editor_children[i].addEventListener("dragenter", function(event){
if(event.target.id !== e.target.id) event.target.className= event.target.className + " highlight";
position= event.clientX;
last_over= event.target.id;
console.log("Mouse: " + e.clientX + " Position: " + position + " Last Element: " + last_over);
})
editor_children[i].addEventListener("dragleave", function(event){
event.target.className= event.target.className.replace(' highlight', '');
});
}
請沒有JS庫。
乍一看,可能是因爲您使用相同的變量(位置變量)來存儲每個元素的每個位置? 你對自己也很難做到。只要做功能(e){e = e ||事件;並使用e的一切。 – tomysshadow
位置變量是一個全局(是的,我知道,錯誤的編碼,稍後會修復)拖放功能需要..但我發現了問題,謝謝。 – Zaper127