国产探花免费观看_亚洲丰满少妇自慰呻吟_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等。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瑞丽市| 平定县| 神池县| 桃源县| 扎鲁特旗| 青铜峡市| 崇文区| 车险| 蛟河市| 齐齐哈尔市| 鹤岗市| 巴青县| 呼图壁县| 连云港市| 吴川市| 大埔县| 江西省| 红原县| 彭山县| 樟树市| 吕梁市| 游戏| 奉节县| 永德县| 化州市| 银川市| 宁蒗| 稻城县| 三河市| 六盘水市| 响水县| 德州市| 眉山市| 卫辉市| 星子县| 巴青县| 大兴区| 赤峰市| 潜江市| 蓬莱市| 晋宁县|