鼠标点击事件
js区分点击的是鼠标左键还是右键★★
提示:在查资料时发现,event.which也和event.button一样的作用(但在按键和对用的数值之间有不同之处),但event.which现在已经被web舍弃了,所以在使用时还是尽量使用使用button
- events.button == 0 鼠标左键
- events.button == 1 鼠标中键
- events.button == 2 鼠标中键
events要是在运行时报错的话就用这个window.even
虽然event.which已经被弃用了,但是为了防止在以后见到,特把event.which和event.button的区别发在下面
- events.which== 1 鼠标左键
- events.button == 2 鼠标中键
- events.button == 3 鼠标右键
在末尾小小的提一下,我在实践过程中发现,对应的数值和网上一些博文不一样,可能是浏览器的不同,会导致返回的点击数值也不一样,所以在使用之前可以自己检验一下,现将代码放在下面
var div = document.getElementsByTagName("div")[0];
div.onmousedown = function(event) {
var x = event.button;
alert(x);
div.innerHTML += x;
}
事件认识
event.target
当有批量的DOM需要操作的时候,要判断那个DOM是事件源,就可以用e.target可以准确的获取事件源,并可以在使用过程当中做出判断,从而实现我们的代码,常用属性如下
event.target.nodeName
event.target.id
event.target.className
event.target.innerHTML
e.currentTarget
指的是绑定了事件监听的元素(可以理解为触发事件元素的父级元素)
两者之间的区别
e.target: 指的是真正触发事件的那个元素
e.currentTarget : 指的是绑定了事件监听的元素(可以理解为触发事件元素的父级元素)
事件冒泡是:如果绑定的事件对象子对象(比如点击页面上的button)时,e.currentTarget == e.target: 指的是真正触发事件的那个元素
如果绑定的事件对象是document时,e.currentTarget是document,而e.target 是btn
|