事件对象
事件绑定:元素节点.on+事件类型 = 匿名函数;
事件对象的产生:在事件绑定完成后,就自动生成了一个事件对象。
获取事件对象:
在标准浏览器中。
直接在事件处理函数上定义一个形参。
会在事件触发的时候,由浏览器自动传递实参。
IE低版本
window.event
在标准浏览器下也可以使用
兼容写法:var event = event || window.event;
<script>
window.onload = function(){
var box = document.querySelector(".box");
box.onclick = function(event){
var event = event || window.event;
console.log(event);
}
}
</script>
<body>
<div class="box">
123
</div>
</body>
生成参数
- 鼠标事件对象
属性:
button:用来表示咱们按下的是哪一个按键
0 左键
1 滚轮
2 右键
<style>
.box {
width: 300px;
height: 300px;
background-color: cyan;
}
</style>
<script>
window.onload = function() {
var box = document.querySelector(".box");
// 鼠标左键0 滑轮1 鼠标右键2
box.onmousedown = function(event) {
// 兼用
var event = event || window.event;
console.log(event.button);
// window.event是对于低版IE作用的
}
}
</script>
</head>
<body>
<div class="box">
</div>
</body>
</html>
- 获取当前鼠标的位置(原点不同)
clienX 可视窗口的左上角为原点
clienY
pageX 整个页面的左上角为原点
pageY
screenX 电脑屏幕的左上角为原点
screenY
offsetX 以事件触发的元素为原点
offsetY
<style>
* {
margin: 0;
padding: 0;
}
.box {
width: 300px;
height: 300px;
background-color: cyan;
margin: 100px 100px;
}
</style>
<script>
window.onload = function() {
var box = document.querySelector(".box");
box.onclick = function(event) {
// 兼用
var event = event || window.event;
// 可视窗口的左上角为原点
console.log("clientX=" + event.clientX);
console.log("clientY=" + event.clientY);
// 整个页面的左上角为原点
console.log("pageX=" + event.pageX);
console.log("pageY=" + event.pageY);
// 电脑屏幕的左上角为原点
console.log("screenX=" + event.screenX);
console.log("screenY=" + event.screenY);
// 以事件元素的左上角为原点,当前元素
console.log("offsetX=" + event.offsetX);
console.log("offsetY=" + event.offsetY);
}
}
</script>
</head>