IE事件模型与DOM事件模型

[html]  view plain copy
  1. <span style="font-size:18px;">当我们进行javascript编程的时,(至少)需要考虑两种模型:一种IE模型,事实规范,浏览器IE;另一种DOM2模型,是行业规范,浏览器如:火狐,谷歌.</span>  

IE模型,此种访问事件的方式是通过隐式可用的全局对象event。而DOM2规范的事件对象由系统创建,作为函数参数隐式传入事件处理器

[javascript]  view plain copy
  1. <body>  
  2. <!-- 绑定事件处理器时,将event作为参数传入 -->  
  3. <button οnclick="clickHandler(event);">按钮</button>  
  4. <script type="text/javascript">  
  5.     function clickHandler(evt)  
  6.     {  
  7.         alert(evt.srcElement.innerHTML);//evt.srcElement返回发生事件的HTML元素  
  8.     }  
  9. </script>  
  10. </body>  
输出结果: 点击“按钮”后,输出此button的value值


DOM2

[javascript]  view plain copy
  1. <body>  
  2. <!-- 绑定事件处理器时,将event作为参数传入 -->  
  3. <button id="a">按钮</button>  
  4. <script type="text/javascript">  
  5. //定义一个形参evt  
  6. function clickHandler(evt)  
  7. {  
  8. //DOM 2的事件对象将作为第一个参数传入clickHandler对象  
  9. alert(evt.target.innerHTML);//eve.target返回触发事件的事件源  
  10. }  
  11. //为按钮a绑定事件处理器  
  12. document.getElementById("a").οnclick=clickHandler;//DOM2规范的事件对象由系统创建,作为函数参数隐式传入事件处理器  
  13. </script>  
  14. </body>  
下面介绍兼容浏览器的方法
[javascript]  view plain copy
  1. <body>  
  2. <button id="a">按钮</button>  
  3. <script type="text/javascript">  
  4. //定义一个形参evt  
  5. function clickHandler(evt)  
  6. {  
  7.     //对于IE浏览器,事件作为隐式可用的全局对象event  
  8.     if (!evt)   
  9.     {  
  10.         evt = window.event  
  11.     }  
  12.     //对于DOM 2事件模型,访问事件源用target属性  
  13.     if (evt.target)  
  14.     {  
  15.         alert(evt.target.innerHTML);  
  16.     }  
  17.     //对于IE浏览器  
  18.     else  
  19.     {  
  20.         alert(evt.srcElement.innerHTML);  
  21.     }  
  22. }  
//为按钮a绑定事件处理器
document.getElementById("a").οnclick=clickHandler;
</script>
</body>
这样就兼容了不同浏览器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值