作家
登录

javascript下给元素添加事件的方法与代码

作者: 来源:www.28hudong.com 2013-03-30 03:20:19 阅读 我要评论

最简单的是这样: <input type="button" onclick="alert(this.value)" value="我是 button" /> 动态添加onclick事件: <input type="button" value="我是 button" id="bu"> <script type="text/javascript"> var bObj=document.getElementById("bu"); bObj.onclick= objclick; function objclick(){alert(this.value)}; </script> 如果使用匿名函数 function(){},则如下面所示: <input type="button" value="我是 button" id="bu"> <script type="text/javascript"> var bObj=document.getElementById("bu"); bObj.onclick=function(){alert(this.value)}; </script> 上面的方法其实原理都一样,都是定义 onclick 属性的值。值得注意的是,如果多次定义 obj.onclick,例如:obj.onclick=method1; obj.onclick=method2; obj.onclick=method3,那么只有最后一次的定义obj.onclick=method3才生效,前两次的定义都给最后一次的覆盖掉了。 再看 IE 中的 attachEvent: <input type="button" value="我是拉登" id="bu"> <script type="text/javascript"> var bObj = document.getElementById("bu"); bObj.attachEvent("onclick",method1); bObj.attachEvent("onclick",method2); bObj.attachEvent("onclick",method3); function method1(){alert("第一个alert")} function method2(){alert("第二个alert")} function method3(){alert("第三个alert")} </script> 执行顺序是 method3 > method2 > method1 ,先进后出,与堆栈中的变量相似。需要注意的是attachEvent 中第一个参数是on开头的,可以是 onclick/onmouseover/onfocus 等等 据说(未经确认验证)在 IE 中使用 attachEvent 后最好再使用 detachEvent 来释放内存 再看看 Firefox 中的的 addEventListener: <input type="button" value="我是布什" id="bu"> <script type="text/javascript"> var bObj = document.getElementById("bu"); bObj.addEventListener("click",method1,false); bObj.addEventListener("click",method2,false); bObj.addEventListener("click",method3,false); function method1(){alert("第一个alert")} function method2(){alert("第二个alert")} function method3(){alert("第三个alert")} </script> 可以看到,在 ff 中的执行顺序是 method1 > method2 > method3 , 刚好与 IE 相反,先进先出。需要注意的是 addEventListener 有三个参数,第一个是不带“on”的事件名称,如 click/mouseover/focus等。

  推荐阅读

  用js实现上传图片前的预览(TX的面试题)

以前不知道 file 控件也能使用 onchange,导致面试时失去良机。 <script> function yulan() { var fileext=document.form1.UpFile.value.substring(document.form1.UpFile.value.lastIndexOf("."),document.form1.U>>>详细阅读


本文标题:javascript下给元素添加事件的方法与代码

地址:http://www.17bianji.com/kaifa2/JS/30181.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)