Vue 获取鼠标位置坐标
创作时间:
作者:
@小白创作中心
Vue 获取鼠标位置坐标
引用
CSDN
1.
https://blog.csdn.net/u013243347/article/details/81179422
在Vue项目中,我们可能有获取鼠标信息的需求来处理业务逻辑。下面,我们将通过介绍touch事件,来获取鼠标位置。
touch事件介绍
事件名 | 功能 |
---|---|
touchstart | 鼠标点击时,触发该事件一次。 |
touchmove | 当鼠标移动时,会多次调用该事件。 |
touchend | 当鼠标停止移动时,触发该事件一次。 |
Vue模板和JavaScript代码示例
<div id="app">
<div class="circle" @touchstart="touchstart" @touchmove="touchmove" ></div>
</div>
let app = new Vue({
el: '#app',
data: {
message: 'app'
},
methods: {
// 当鼠标点击时触发,类似onclick事件
touchstart(e) {
console.log('touchstart')
},
// 当鼠标移动时触发
touchmove(e) {
console.log('touchmove')
}
}
})
如何获取鼠标的x,y坐标
这就要利用事件回调中的e.targetTouches
属性了。
// 获取x 坐标
e.targetTouches[0].clientX
// 获取y 坐标
e.targetTouches[0].clientY
如何获取鼠标每次移动的差值
当鼠标移动时,如何计算得出,当前鼠标位置与上一次鼠标位置的差值呢?例如,当前鼠标位置为(1,2),上一次鼠标位置为(0,0),差值就是:x:1,y:2
methods: {
touchstart(e) {
// 获取起始坐标位置x
this.lastPosX = e.targetTouches[0].clientX
},
touchmove(e) {
// 获取当前位置x
this.curPosX = e.targetTouches[0].clientX
// 计算差值
this.diff = +(this.curPosX - this.lastPosX)
// 其他业务逻辑
// ...
// 更新lastPosX
this.lastPosX = this.curPosX
}
}
热门推荐
狮心王的传奇:理查一世与第三次十字军东征
狮心王的战术秘籍:第三次十字军东征揭秘
教皇的十字军:第三次东征背后的权力与信仰
陈建斌蒋勤勤西班牙度假,6岁儿子首曝光
陈建斌蒋勤勤带娃赴西班牙,小儿子正面照首曝光
“鼠羊不到头”背后的婚配真相
十二生肖婚配,谁是你命中注定的TA?
十二生肖最佳婚配对象揭秘:从传统到现代的婚姻观
2024年属龙人婚姻运势:与鸡共舞,化挑战为机遇
陈建斌一家西班牙亲子游:6岁小儿子首亮相,展现真实幸福家庭
陈建斌一家西班牙亲子游:6岁儿子首次亮相,附详细攻略
陈建斌一家三口西班牙度假,6岁小锵锵首晒正面照
陈建斌蒋勤勤西班牙度假被偶遇,甜蜜互动获赞模范夫妻
白萝卜、柿饼、黑豆、山药:冬季养生的四大食材
燕窝搭配有讲究:6种食材让滋补效果翻倍
中医推荐:四款秋季润肺养生药膳
牛黄解毒片和生脉饮不能替代糖尿病正规治疗
牛黄解毒片:清热解毒常用药,含砷成分要当心
牛黄解毒片使用攻略:适应症、剂量与禁忌全解读
牛黄解毒片冬季使用注意事项:适用症状与禁忌人群
北京公共场所免费WiFi:带宽不足成最大“坑”
公共WiFi暗藏风险,这些安全要点请记牢
泰山登山攻略:4条路线特色对比与全程准备指南
泰山景区发布夏季游览新规:门票预约时间提前至10点
从英国回中国如何倒时差
2025年广州社保缴费比例最新调整:养老上调、医疗下调
从食材到机制:详解健康饮食预防心血管疾病之道
中美金融市场对比分析
中国境内也有时差?天黑最晚和天亮最早的地方,你知道是哪里吗
耶律阿保机与完颜阿骨打:两位草原帝王的功绩比较