欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue html 拖拽

吉茹定2年前8瀏覽0評論

Vue.js是一個極為流行的JavaScript框架,拖拽是Vue.js開發(fā)過程中經(jīng)常用到的功能之一。當開發(fā)者需要實現(xiàn)拖拽功能時,HTML自帶的拖拽API過于麻煩,而Vue.js提供了更加方便的方法。

Vue.js的拖拽功能通過v-dragging指令來實現(xiàn)。首先,需要在Vue實例中注冊一個全局指令。添加如下代碼:

Vue.directive('dragging', {
inserted: function (el, binding) {
var posX = 0, posY = 0, deltaX = 0, deltaY = 0;
el.onmousedown = function(e) {
e.preventDefault();
posX = e.clientX;
posY = e.clientY;
document.onmousemove = function(e) {
deltaX = e.clientX - posX;
deltaY = e.clientY - posY;
posX = e.clientX;
posY = e.clientY;
el.style.left = (el.offsetLeft + deltaX) + 'px';
el.style.top = (el.offsetTop + deltaY) + 'px';
};
document.onmouseup = function() {
document.onmousemove = null;
document.onmouseup = null;
};
}
}
});

上述代碼創(chuàng)建了一個名為dragging的全局指令。inserted函數(shù)是指令的生命周期中最重要的部分,并在el元素被綁定到文檔中時運行。它僅使用了一個匿名函數(shù),該函數(shù)遵循mousedown / mousemove / mouseup傳統(tǒng)。當鼠標在el元素上按下時,將觸發(fā)mousedown事件。緩存鼠標位置,并將mousemove偵聽器添加到全局document。

接下來需要實現(xiàn)HTML元素的拖拽。添加如下代碼:

拖拽這里!

上述代碼使用v-dragging指令將一個div添加到Vue實例中,該div的位置可以通過鼠標拖拽進行移動,因為它可被設置為絕對定位的元素。當指定style時,它設置它在頁面的布局中的初始位置。

通過添加指令,開發(fā)者可以在Vue.js應用程序中添加非常有用的功能,如自定義拖放操作。