日期:2014-05-16 浏览次数:20497 次
<html> <script language="javascript"> /* 页面加载时在页面内放置一个层 */ document.writeln("<div id='divMix'> </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>