Rumah > Artikel > hujung hadapan web > Kemahiran praktikal Vue: gunakan arahan v-on untuk mengendalikan acara seret tetikus
. Dalam pembangunan aplikasi Vue, pengendalian peristiwa interaksi pengguna adalah kemahiran penting. Artikel ini akan memperkenalkan cara menggunakan arahan v-on Vue untuk mengendalikan peristiwa seret tetikus dan memberikan contoh kod khusus.
Buat contoh Vue:
Mula-mula, perkenalkan fail perpustakaan Vue.js dalam fail HTML:<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<div id="app"> ... </div> <script> var app = new Vue({ el: '#app', data: { ... }, methods: { ... } }); </script>
Tambahkan data asal:
fungsi seret, Kita perlu menentukan beberapa data yang mengawal kedudukan elemen yang diseret. Tambahkan kod berikut dalam pilihan data contoh Vue:
data: { dragging: false, // 标记是否正在拖拽 x: 0, // 鼠标在页面上的横坐标 y: 0, // 鼠标在页面上的纵坐标 left: 0, // 拖拽元素的左侧偏移量 top: 0 // 拖拽元素的顶部偏移量 }
methods: { handleMouseDown: function(event) { this.dragging = true; this.x = event.pageX; this.y = event.pageY; }, handleMouseMove: function(event) { if (this.dragging) { var dx = event.pageX - this.x; var dy = event.pageY - this.y; this.left += dx; this.top += dy; this.x = event.pageX; this.y = event.pageY; } }, handleMouseUp: function() { this.dragging = false; } }
handleMouseMove: Apabila tetikus bergerak, kira offset elemen berdasarkan perubahan dalam kedudukan tetikus dan kemas kini nilai kiri dan atas.
handleMouseUp: Tetapkan seretan kepada palsu apabila tetikus dilepaskan.
<div v-on:mousedown="handleMouseDown" v-on:mousemove="handleMouseMove" v-on:mouseup="handleMouseUp" v-bind:style="{left: left + 'px', top: top + 'px'}" ></div>
v-on:mousemove: Mengikat acara pergerakan tetikus.
v-on:mouseup: Ikat acara pelepasan tetikus.
<div id="app"> <div v-on:mousedown="handleMouseDown" v-on:mousemove="handleMouseMove" v-on:mouseup="handleMouseUp" v-bind:style="{left: left + 'px', top: top + 'px'}" ></div> </div> <script> var app = new Vue({ el: '#app', data: { dragging: false, x: 0, y: 0, left: 0, top: 0 }, methods: { handleMouseDown: function(event) { this.dragging = true; this.x = event.pageX; this.y = event.pageY; }, handleMouseMove: function(event) { if (this.dragging) { var dx = event.pageX - this.x; var dy = event.pageY - this.y; this.left += dx; this.top += dy; this.x = event.pageX; this.y = event.pageY; } }, handleMouseUp: function() { this.dragging = false; } } }); </script>
Atas ialah kandungan terperinci Kemahiran praktikal Vue: gunakan arahan v-on untuk mengendalikan acara seret tetikus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!