国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

javascript下給元素添加事件的方法與代碼

2024-09-06 12:41:49
字體:
來源:轉載
供稿:網友
最簡單的是這樣:

<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等。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安远县| 凤山县| 揭阳市| 于田县| 屏南县| 夏津县| 菏泽市| 普宁市| 丁青县| 南昌县| 宁国市| 炎陵县| 华坪县| 定安县| 娄底市| 邹平县| 木兰县| 漳州市| 开远市| 阳新县| 鹤岗市| 高要市| 常熟市| 丹棱县| 高淳县| 浏阳市| 定安县| 高青县| 钟祥市| 城固县| 梁河县| 安岳县| 德安县| 六安市| 新津县| 卢氏县| 丹江口市| 巴塘县| 云阳县| 林口县| 泾源县|