event对象常见属性
属性 | 含义 |
---|---|
type | 获取这个事件的事件类型的字符串,例如:click |
target | 获取与事件绑定的 DOM 元素 |
data | 获取事件调用时的额外数据 |
relatedTarget | 获取移入移出目标前所在的元素 |
currentTarget | 获取冒泡前触发的 DOM 元素,等同与 this |
pageX/pageY | 获取相对于页面原点的水平/垂直坐标 |
screenX/screenY | 获取显示器屏幕位置的水平/垂直坐标(非 jQuery 封装) |
clientX/clientY | 获取相对于页面可见部分的水平/垂直坐标(非 jQuery 封装) |
result | 获取上一个相同事件的返回值 |
timeStamp | 获取事件触发的时间戳(字符串) |
which | 获取鼠标的左中右键(1,2,3),或获取键盘按键 |
altKey/shiftKey/ctrlKey/metaKey | 判断在点击的同时是否按下了 alt、shift、ctrl键 |
Target
- target 获得触发元素的DOM(点击的元素)
- currentTarget得到的是监听元素的DOM(绑定的元素)
对于样式:
<div style="width:300px;height:300px;background-color:skyblue;">
<span style="width:100px;height:100px;background-color:yellow;display:block"></span>
</div>
<script>
$("div:eq(0)").bind("mouseover",function(event){
// alert(event); // [object Object]
// alert(event.type); // click
// alert(event.target); // 点击的元素 [object HTMLSpanElement]/[object HTMLDivElement]
// alert(event.currentTarget); // 总是div [object HTMLDivElement]
alert(event.relatedTarget);
});
</script>
用鼠标进入事件模拟三种target的效果:
target:
currentTarget:
relatedTarget:
data
通过 event.data 获取额外数据,可以是数字、字符串、数组、对象
$(":button:eq(1)").bind("click","sss",function(e){
alert(e.data);
});
pageY、screenY、clienty
- pageY 是对于页面顶端的距离,包括未显示的部分,所以常用于滚动条,随着滚动条改变
- screenY 是对于屏幕顶端的距离,不随滚动条改变
- clienty 是相对于页面可见部分顶端的距离,不随滚动条改变
which
判断鼠标点击,不过实验的时候好像只有左键有效 (/= _ =)/~┴┴
$(":text").click(function(e){
alert(e.which);
});
判断键盘按下的值
$(":text").keydown(function(e){
alert(e.which);
});