t 三种绑定事件方式之间的区别

王朝学院·作者佚名  2016-05-22
窄屏简体版  字體: 小  |  中  |  大  |  超大  

javaScript 三种绑定事件方式之间的区别Javascript三种绑定事件的方式:

1. <div id="btn" onclick="clickone()"></div> //直接在DOM里绑定事件

<script>

function clickone(){ alert("hello"); }

</script>

2. <div id="btn"></div>

<script>

document.getElementById("btn").onclick = function(){ alert("hello"); } //脚本里面绑定

</script>

3. <div id="btn"></div>

<script>

document.getElementById("btn").addeventlistener("click",clickone,false); //通过侦听事件处理相应的函数

function clickone(){ alert("hello"); }

</script>

那么问题来了,1 和 2 的方式是我们经常用到的,那么既然已经有两种绑定事件的方法为什么还要有第三种呢?答案是这样的:

用 "addeventlistener" 可以绑定多次同一个事件,且都会执行,而在DOM结构如果绑定两个 "onclick" 事件,只会执行第一个;在脚本通过匿名函数的方式绑定的只会执行最后一个事件。

1. <div id="btn" onclick="clickone()" onclick="clicktwo()"></div>

<script>

function clickone(){ alert("hello"); } //执行这个

function clicktwo(){ alert("world!"); }

</script>

2. <div id="btn"></div>

<script>

document.getElementById("btn").onclick = function(){ alert("hello"); }

document.getElementById("btn").onclick = function(){ alert("world"); } //执行这个

</script>

3. <div id="btn"></div>

<script>

document.getElementById("btn").addeventlistener("click",clickone,false);

function clickone(){ alert("hello"); } //先执行

document.getElementById("btn").addeventlistener("click",clicktwo,false);

function clicktwo(){ alert("world"); } //后执行

</script>

以上;可根据场景灵活选择。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航