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

首頁 > 編程 > JavaScript > 正文

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

2019-11-21 01:58:38
字體:
來源:轉載
供稿:網友
最簡單的是這樣:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永善县| 宣城市| 大姚县| 虹口区| 海林市| 南汇区| 连江县| 扎兰屯市| 呈贡县| 读书| 桦甸市| 郯城县| 松滋市| 若尔盖县| 宝兴县| 孝昌县| 赣州市| 洞头县| 外汇| 凤凰县| 新巴尔虎右旗| 旺苍县| 东乌珠穆沁旗| 平塘县| 九寨沟县| 荥阳市| 新宁县| 札达县| 运城市| 多伦县| 辉南县| 城市| 瑞丽市| 武穴市| 瓦房店市| 清原| 泗洪县| 成武县| 包头市| 临漳县| 新昌县|