鼠标右键事件
今天刚做了一个需求,就是鼠标右键点击后,会出现一个操作框
现在来给大家说下我的实现步骤吧~
1.监听
首先,先给全局整个监听,这个是监听鼠标事件(左右键都会触发)
document.addEventListener ('mousedown', this.showMousePosition, false);
2.处理事件对象
然后在这个事件对象里,有个button属性,它等于2的时候,就说明是右键,我又把当前点击右键时的pageX和pageY给收集了,正常情况这里还需要有个变量(就叫isShowOpeaBox吧)来控制操作框显示,, 因为我这里情况复杂,是在3d渲染引擎上点的,我在其他地方控制了
正常情况的例子,我在这补充下:
showMousePosition(e) {
if(e.button == 2) {
this.isShowOpeaBox = true
this.mouseLeft = e.pageX
this.mouseTop = e.pageY
} else {
this.isShowOpeaBox = false
}
},
3.html+css配合
然后在html标签和样式中这样写,就可以实现,点击右键,弹出框显示
4.完成
然后你就实现了整体功能,仅需在点击操作框内的元素时,让其隐藏掉就ok
鼠标样式
这算是个小细节,但是一但注意到,会整体提高pc端网站的整体交互感哦~
所谓的鼠标样式,就是用户在浏览网站时,鼠标放上去时的鼠标的样子,大都普通元素默认的都是一个小箭头,我们可以改变css中 cursor属性,来对其样式进行改变,下面介绍几个常用的:
cursor: pointer
是小手手,一般都是点击这个元素后,有什么功能才用这个
cursor:move
这个元素可以进行拖动之类的,就用这个
e-resize 此光标指示矩形框的边缘可被向右(东)移动。
ne-resize此光标指示矩形框的边缘可被向上及向右移动(北/东)。
nw-resize此光标指示矩形框的边缘可被向上及向左移动(北/西)。
n-resize此光标指示矩形框的边缘可被向上(北)移动。
se-resize此光标指示矩形框的边缘可被向下及向右移动(南/东)。
sw-resize此光标指示矩形框的边缘可被向下及向左移动(南/西)。
s-resize此光标指示矩形框的边缘可被向下移动(南)。
w-resize此光标指示矩形框的边缘可被向左移动(西)。
上面一堆resize,最常用的就是截图,但是一般截图都用第三方工具,人家都写好了~
cursor: not-allowed
这个是禁用,让用户一看都知道这个元素他点不了,一般配合角色权限使用