js 事件对象(一)

一、什么是事件对象

在触发DOM上的某个事件时,会产生一个事件对象event。这个对象中包含着所有与事件有关的信息。
包括导致事件的元素,事件的类型以及其他与特定事件相关的信息。

【举例】
鼠标操作导致的事件对象中,会包含鼠标位置的信息,
键盘操作导致的事件对象中,会包含按下的键有关的信息


二、事件对象的兼容性问题及解决方案

document.onclick = function(ev){
	var oEvent = ev || event;   
}
//clientX 鼠标在可视区X轴的位置,clientY 鼠标在可视区Y轴的位置
document.onclick = function(ev){
	var oEvent = ev || event; 
	console.log(oEvent.clientX+"--"+oEvent.clientY);
}

/*
 * scrollTop:获取滚动条相对于其顶部的偏移
 * scrollLeft:获取滚动条相对于其最左的偏移
 * 一般clientY 和 scrollTop配合使用
*/
//跟随鼠标的DIV实例
document.οnmοusemοve=function (ev){
	var oEvent=ev||event;
	var oDiv=document.getElementById('div1');
	var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
	var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft;

	oDiv.style.left=oEvent.clientX+scrollLeft+'px';
	oDiv.style.top=oEvent.clientY+scrollTop+'px';
};

三、鼠标事件和键盘事件

1、鼠标事件

onclick —— 鼠标点击事件
onmousedown —— 鼠标按下事件
onmouseup —— 鼠标抬起事件
onclick = onmousedown + onmouseup;

2、键盘事件

onkeypress —— 键盘点击事件
onkeydown —— 键盘按下事件
onkeyup —— 键盘抬起事件
keyCode 事件属性 :获取按下的键盘按键Unicode值

document.οnkeydοwn=function (ev){
	var oEvent=ev||event;
	alert(oEvent.keyCode);
};

3、其他属性:ctrlKey,shiftKey,altKey

//ctrl+回车 提交
window.onload = function(){
	var oTxt1=document.getElementById('txt1');
	var oTxt2=document.getElementById('txt2');

	//oEvent.ctrlKey 返回的是布尔值
	oTxt2.οnkeydοwn=function (ev){
		var oEvent=ev||event;
		if(oEvent.ctrlKey && oEvent.keyCode==13){   //keyCode == 13 : 代表回车键
			oTxt1.value+=oTxt2.value+'\n';
			oTxt2.value='';
		}
	}
}
<textarea id="txt1" rows="10" cols="40"></textarea><br />
<input id="txt2" type="text" />



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值