使用js實現拖拽功能

2021-09-29 20:16:36 字數 1257 閱讀 7194

通過監聽mousemove和mouseup事件實現拖拽功能

var screenwidth = document.documentelement.clientwidth;

var screenheight = document.documentelement.clientheight;

$(document)

.mousemove

(function

(e): document.move_target.posix,

callback = document.call_down ||

function()

)// 使拖拽物件在可視區域內拖動if(

(e.pagey - posix.y)

<0&&

(e.pagex - posix.x)

<0)

)}elseif(

(e.pagey - posix.y)

<0&&

(e.pagex - posix.x)

>=0)

)}elseif(

(e.pagey - posix.y)

>=0&&

(e.pagex - posix.x)

<0)

)}else);

}};

callback.

call

(this

, e, posix);}

e.preventdefault()

}).mouseup

(function

(e);

callback.

call

(this

, e)

; $.

extend

(this,)

; document.onmousemove =

null

; document.onmouseup =

null;}

e.preventdefault()

});

在拖拽過程中遇到div中有p、img標籤等,在拖動到p、img時會出現禁止拖**標,此時鬆開滑鼠依舊可以拖動div,可以使用event.preventdefault()阻止瀏覽器預設事件解決;也可使用css屬性pointer-events: none禁止p、img等標籤的預設事件。

js拖拽功能的實現

如果要設定物體拖拽,那麼必須使用三個事件,並且這三個事件的使用順序不能顛倒。1.onmousedown 滑鼠按下事件 2.onmousemove 滑鼠移動事件 3.onmouseup 滑鼠抬起事件 拖拽的基本原理就是根據滑鼠的移動來移動被拖拽的元素。滑鼠的移動也就是x y座標的變化 元素的移動就是s...

js拖拽功能

html css mod mod hd mod corner jsvar mod document.getelementbyid mod var hd document.getelementbyid hd var corner document.getelementbyid corner funct...

JS 原生js實現拖拽功能基本思路

如果要設定物體拖拽,那麼必須使用三個事件,並且這三個事件的使用順序不能顛倒。onmousedown 滑鼠按下事件 onmousemove 滑鼠移動事件 onmouseup 滑鼠抬起事件 拖拽的基本原理就是根據滑鼠的移動來移動被拖拽的元素。滑鼠的移動也就是x y座標的變化 元素的移動就是style.p...