js动态添加的DIV中的onclick事件简单实例

前端技术 2023/09/09 JavaScript

最简单的是这样:

<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动态添加的DIV中的onclick事件简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。

本文地址:https://www.stayed.cn/item/25532

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。