【转】js中点击事件方法三种方式的区别
在javascript中,可以为某个元素指定事件,指定的方式有以下三种:
1、在html中,使用onclick属性
2、在javascript中,使用onclick属性
(1)注意函数名没有双引号。
3、在javascipt中,使用addEvenListener()方法
三种方法的比较
(1)在第二、三种方法中,可以向函数传入一个event对象,并读取其相应属性,而方法一不可以。
一些语法细节
(1)在第一种方法中,onclick大小写无关,但在第二种方法中,必须使用小写。因为HMTL对大小写不敏感,而JS则会区分大小写。
(2)在第二、三种方法中,指定函数名时没有双引号,而第一种作为一个HTML属性,需要双引号。
(3)第一种方法需要括号,第二、三种不需要。
onclick="clickHandler()"
document.getElementById("jsOnClick").onclick = clickHandler2;
document.getElementById("adEventListener").addEventListener("click",clickHandler2);
完整代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Even Deom</title> </head> <body> <button id="htmlOnClick" onclick="clickHandler()">htmlOnClick</button> <button id="jsOnClick">jsOnClick</button> <button id="addEventListener">addEventListener</button> <script defer> function clickHandler() { alert("onclick attribute in html"); } function clickHandler2(e) { alert(e.target.innerHTML); } document.getElementById("jsOnClick").onclick = clickHandler2; document.getElementById("addEventListener").addEventListener("click", clickHandler2); </script> </body> </html>
证明:将n(n为2的幂)个点的位反转环划分为长为j(2的幂)的连续片段,这些片段都是次序等价的(分布式算法)
vim命令小合集
poj2240floyd算法
visual studio打开文件所在目录
5个0,4个1组成的字符串中,出现01或10的次数为4的不同字符串个数
max spacing kclustering(类似kruskal最小生成树)并查集Debuging
算法导论16.35huffman树的表示
最优二叉查找树optimalBSTC++实现2
算法导论16.37