码迷,mamicode.com
首页 > 其他好文 > 详细

事件监听2

时间:2015-09-11 20:39:45      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

之前学的好多都忘记了,等有时间重新在学习一边

事件类型可分为几种:鼠标事件、键盘事件、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属性,不敢细想,先写到这里,改天在写

 

事件监听2

标签:

原文地址:http://www.cnblogs.com/change-oneself/p/4801972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!