关于鼠标的两个常用操作

352 阅读2分钟

鼠标右键事件

今天刚做了一个需求,就是鼠标右键点击后,会出现一个操作框

现在来给大家说下我的实现步骤吧~

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

这个是禁用,让用户一看都知道这个元素他点不了,一般配合角色权限使用