色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue 鼠標拖拽

錢良釵2年前9瀏覽0評論

在Vue中實現(xiàn)鼠標拖拽非常簡單。我們可以使用Vue提供的指令來實現(xiàn)。下面我們來詳細了解一下。

首先,在Vue中使用指令可以通過v-開頭的命令來完成。而鼠標拖拽可以通過v-drag這個自定義指令來完成:

Vue.directive('drag', {
inserted: function (el) {
let pos = {x: 0, y: 0};
let startX, startY;
el.onmousedown = function (event) {
startX = event.clientX - pos.x;
startY = event.clientY - pos.y;
document.onmousemove = function (event) {
let disX = event.clientX - startX;
let disY = event.clientY - startY;
pos = {x: disX, y: disY};
el.style.left = pos.x + 'px';
el.style.top = pos.y + 'px';
};
document.onmouseup = function (event) {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
})

代碼中我們使用了Vue的指令鉤子函數(shù)inserted,該函數(shù)在被綁定的元素插入父節(jié)點時調(diào)用。我們通過mousedown事件來監(jiān)聽鼠標按下事件,拿到鼠標按下時的位置。接著,我們再監(jiān)聽document上的mousemove事件,計算鼠標移動的距離,然后通過left和top來設置元素的位置。最后監(jiān)聽document上的mouseup事件,當鼠標松開時,取消mousemove和mouseup事件。

接下來,在使用時只需要在需要拖拽的元素上使用v-drag指令即可:

<div v-drag></div>

在這篇文章中,我們學習了如何在Vue中實現(xiàn)鼠標拖拽。Vue的自定義指令機制讓我們可以在Vue中非常輕松地實現(xiàn)各種各樣的功能。