javascript 事件对象(二)

	keydown,按下任意键,按下的意思是按下立即触发
	keyup,弹起任意键,弹起就是按下然后释放触发
	keypress,是按下字符键,abc,123,标点符号什么,shift,ctrl,alt等等不是字符的键无效

	键码:键盘上的任意键
	字符编码:键盘上可以输出的字符的键
	
	键码返回的是ASCII的小写字母对应的,键码只是返回哪个键的值,不人氏字母大小写
	键码在字符上和字符编码的ASCII码是一直的
	
	键码可以返回任意键的编码,而字母不区分大小写
	
	键码在所有浏览器貌似都兼容
	
	window.onload = function(){
	document.onkeydown = function(evt){
		var e = evt || window.event;
		//keyCode返回键码
		alert(e.keyCode);
	}
}

	如果用keypress返回keyCode,发现Firefox浏览器把所有字符键返回0
	Chrome支持keypress返回keyCode,而且还支持大小写
	IE支持keypress返回keyCode,而且还支持大小写
	
	不同浏览器在;号上返回的键码值不一致
	如果用到,需要做兼容
	
	charCode在使用keypress的情况下,Firefox会返回字符键盘的编码 支持大小写
	IE和Opera不支持charCode
	
	一般情况下,我们不管非字符键,基本上处理的都是字符按键
	
	
	
	window.onload = function(){
	document.onkeypress = function(evt){
		
		//charCode返回字符编码
		alert(String.fromCharCode(getCharCode(evt)));
	 
	}
}

//所有浏览器都字符按键
function getCharCode(evt){
	var e = evt || window.event;
	if(typeof e.charCode == "number"){
		return e.charCode;
	}
	else{
		return e.keyCode;
	}
}

window.onload = function(){
	document.onclick = function(evt){
		
		alert(getTarget(evt));                 //你点击哪里,就可以得到哪里的DOM元素对象
	};
};

function getTarget(evt){
	var e = evt || window.event;
	return e.target || e.srcElement;

}


window.onload = function(){
	document.onclick = function(){
		alert("document");
	};
	
	document.documentElement.onclick = function(){
		alert("html");
	};
	
	document.body.onclick = function(){
		alert("body");
	};
	
	document.getElementById("box").onclick = function(){
		alert("div");
	};
	
	document.getElementsByTagName("input")[0].onclick = function(evt){
		
		alert("input");
		//e.stopPropagation();     //W3C取消冒泡
		//e.cancelBubble = true;   //IE取消冒泡
		
		setStop(evt);
	};
};

function setStop(evt){
	var e = evt || window.event;
	typeof e.stopPropagation == "function" ? e.stopPropagation() : e.cancelBubble = true;
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值