之前学的好多都忘记了,等有时间重新在学习一边
事件类型可分为几种:鼠标事件、键盘事件、HTML事件,这些事件都要加on(和jq不同,jq都不加on)
鼠标事件:
onclick //单击 ondblclick //双击 onmousedown //按下还没弹起的时候 onmouseup //按下离开的时候 onmouseover //移动到 onmouseout //移动出 onmousemove //在元素上移动的时候
键盘事件:
onkeydown //按下任意键触发,按下不动会一直触发,直接使用 onkeypress //按下字符键触发 onkeyup //释放键盘的时候
HTML事件:
onload //页面加载后触发 onunload //当页面卸载(第二次刷新后) onselect //当选择文本框,选择字符的时候触发 onchange //改变的时候 onfocus //获得焦点的时候 onblur //失去焦点的时候 onsubmit //点击提交按钮在<form>元素上触发 onreset //点击重置按钮在<form>元素上触发 onresize //当窗口或框架大小变化时在window或框架上触发 onscroll //当用户滚动带滚动条的元素时触发
DOM和IE的区别:
1)获取目标:
IE: var oTarget = oEvent.srcElement;
DOM: var oTarget = oEvent.target;
2)获取字符代码;(在键盘事件中)
IE: var iCharCode = oEvent.keyCode;
DOM: var iCharCode = oEvent.charCode;
3)阻止默认行为,例如:<a href="xxx" onclick="" >aa</a>或者鼠标右键行为.
IE: oEvent.returnValue = false;
DOM: oEvent.preventDefault();
例如:阻止右键行为:
document.oncontextmenu = function(e){
return false;
}
4)停止冒泡事件流
IE: oEvent.cancelBubble = true;
DOM: oEvent.stopPropagation();
事件对象,一般称为event对象,这个对象是浏览器通过函数把这个对象做为参数传递过来的
如果是事件处理函数绑定的函数,浏览器会默认传递一个参数,这个参数就是event对象
试验:
document.onclick=function(){ alert(arguments.length); //打印1 }
document.onclick=function(){ alert(arguments[0]); //打印他的内容,显示为 object MouseEvent }
document.onkeydown=function(event){ alert(event) } //object KeyboardEvent //ie不支持
所以兼容写法就是把传递过来的参数写成
var e=event||window.event;
反正这里通过传递过来的参数可以获取很多东西,鼠标右键、中间的键、按下的键盘键值.....而且都对应的键值
而且e属性,不敢细想,先写到这里,改天在写