首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

关于JS兼容监听attachEvent跟addEventListener

2012-11-10 
关于JS兼容监听attachEvent和addEventListener今天学习了一下attachEvent和addEventListener这两个方法具

关于JS兼容监听attachEvent和addEventListener
今天学习了一下attachEvent和addEventListener这两个方法

具体代码如下:

=============================================

<html><script language="javascript">    /*     页面加载时在页面内放置一个层 */    document.writeln("<div id='divMix'>&nbsp;</div>");</script><script language="javascript">    /*     创建一个按钮,奖其放在先前放置的层内  使用attachEvent或者addEventListener方法不其注册事件 */ var btn=document.createElement("input"); btn.setAttribute("type","button"); btn.setAttribute("id","btnEle"); btn.setAttribute("value","点击我"); /*  判断浏览器类型  我的机器装了4种浏览器(IE,傲游,火狐,netscape)  我试验的结果是  IE,傲游支持attachEvent;而火狐,netscape支持addEventListener */ if(btn.attachEvent){  btn.attachEvent("onclick",method1);  btn.attachEvent("onclick",method2);  btn.attachEvent("onclick",method3);   /*     三个方法调用的顺序是method2>method3>method1     而很多人的博客上看到的却是method3>method2>method1     很是奇怪,不知是不是浏览器版本的问题,当前IE6.0  */ } else if(btn.addEventListener){  btn.addEventListener("click",method1,true);  btn.addEventListener("click",method2,true);  btn.addEventListener("click",method3,true); } /* 获取先前创建的层对象 */ var div=document.getElementById("divMix"); /* 使用typeof运算符判断获取的层对象是否存在    如果存在则奖创建的按钮放到层里面,反之则提示没有    找到相关对象 */ if(typeof(div)=="object"){     div.appendChild(btn);  /*     火狐,netscape好像不支持appendChild这个方法     所以在火狐,netscape看不到效果  */ }else{  alert("没有找到相关对象!"); }  function method1(){ alert("method1()");}function method2(){alert("method2()"); }function method3(){alert("method3()"); }</script><body></body></html>

热点排行
Bad Request.