六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 113|回复: 0

attachEvent与addEventListener

[复制链接]

升级  34.67%

26

主题

26

主题

26

主题

秀才

Rank: 2

积分
102
 楼主| 发表于 2013-2-7 19:18:46 | 显示全部楼层 |阅读模式
attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列)
addEventListener方法 用于 Mozilla系列
举例:
document.getElementById("btn").onclick = method1;  document.getElementById("btn").onclick = method2;  document.getElementById("btn").onclick = method3; 如果这样写,那么将会只有medhot3被执行
写成这样:
var btn1Obj = document.getElementById("btn1");  //object.attachEvent(event,function);  btn1Obj.attachEvent("onclick",method1);  btn1Obj.attachEvent("onclick",method2);  btn1Obj.attachEvent("onclick",method3); 执行顺序为method3->method2->method1

如果是Mozilla系列,并不支持该方法,需要用到addEventListener
var btn1Obj = document.getElementById("btn1");  //element.addEventListener(type,listener,useCapture);  btn1Obj.addEventListener("click",method1,false);  btn1Obj.addEventListener("click",method2,false);  btn1Obj.addEventListener("click",method3,false); 执行顺序为method1->method2->method3

使用实例:
1. var el = EDITFORM_DOCUMENT.body;   //先取得对象,EDITFORM_DOCUMENT实为一个iframe if (el.addEventListener){      el.addEventListener(’’click’’, KindDisableMenu, false);  } else if (el.attachEvent){      el.attachEvent(’’onclick’’, KindDisableMenu); } 2. if (window.addEventListener) {    window.addEventListener(’’load’’, _uCO, false);  } else if (window.attachEvent) { }
  function beforeCheck(){      if(checkFlag) {          return ;      }       if(changeFlag){          return "the old was not saved,";      }else{        return ;      }  } //关闭浏览器时触发的事件 window.onbeforeunload = beforeCheck;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD><script>function method1(){alert('method1');}function method2(){alert('method2');}function method3(){alert('method3');}</script> </HEAD> <BODY id='by'>  <input type='button' value='Button' id='btn'/>  <input type='button' value='Button1' id='btn1'/> </BODY> <script>(function test(){document.getElementById("btn").onclick = method1;  document.getElementById("btn").onclick = method2;  document.getElementById("btn").onclick = method3;//只有method3被执行 })();(function tt(){var el = document.getElementById("btn1");if (el.addEventListener){ //Mozilla系列下     el.addEventListener('click', method1, false);  } else if (el.attachEvent){ //IE下     el.attachEvent('onclick', method1);  el.attachEvent('onclick', method2);  el.attachEvent('onclick', method3);  //执行顺序method3->method2->method1}})();</script></HTML>

onkeypress是在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup 是在用户放开任何先前按下的键盘键时发生。
onkeydown 是在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表