javascript mouseup , mousedown 和 拖拽事件 drag冲突的解决办法
生活随笔
收集整理的這篇文章主要介紹了
javascript mouseup , mousedown 和 拖拽事件 drag冲突的解决办法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.問題
有時候我們只需要mousedown,先按下鼠標(biāo),然后mouseenter監(jiān)聽鼠標(biāo)移動的元素,最后監(jiān)聽mouseup鼠標(biāo)松開時中間移動的元素,但是有個問題是:當(dāng)mouseup和mousedown不是同一個元素的時候,下次mousedown移動鼠標(biāo)會觸發(fā)drag拖拽事件而不是
mouseenter事件,比如:
在這里按下鼠標(biāo)左鍵,
移動到這里松開,
即使我們設(shè)置了draggable為false,
下次重復(fù)操作還是會觸發(fā)拖拽事件,
并且鼠標(biāo)的事件mousemove,mouseenter等都不能使用,所以我們要禁止拖拽事件
2.解決
給dragstart設(shè)置preventDefault,雖然會執(zhí)行其他代碼,但是事件不會進(jìn)一步觸發(fā),不會和鼠標(biāo)事件沖突
總結(jié)
以上是生活随笔為你收集整理的javascript mouseup , mousedown 和 拖拽事件 drag冲突的解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pstree命令找不到解决方法
- 下一篇: LFI_labs学习笔记