javascript mouseup , mousedown 和 拖拽事件 drag沖突的解決辦法


1.問題

有時候我們只需要mousedown,先按下鼠標,然后mouseenter監聽鼠標移動的元素,最后監聽mouseup鼠標松開時中間移動的元素,但是有個問題是:當mouseup和mousedown不是同一個元素的時候,下次mousedown移動鼠標會觸發drag拖拽事件而不是

mouseenter事件,比如: 

 

 

 在這里按下鼠標左鍵,

 

 

移動到這里松開,

 

 即使我們設置了draggable為false,

下次重復操作還是會觸發拖拽事件,

 

 

 並且鼠標的事件mousemove,mouseenter等都不能使用,所以我們要禁止拖拽事件

2.解決

 

 

 

 給dragstart設置preventDefault,雖然會執行其他代碼,但是事件不會進一步觸發,不會和鼠標事件沖突

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM