JavaScript中,addevents是一個(gè)常用的方法之一。用于給HTML頁(yè)面的元素添加事件。比如說,你想讓一個(gè)按鈕在被點(diǎn)擊時(shí)觸發(fā)一些代碼的執(zhí)行,這時(shí)候就需要用到addevents。
addevents可以用于不同類型的事件。下面是一些常見的例子:
var btn = document.getElementById("myBtn"); btn.addEventListener("click", function(){ alert("Hello World!"); });
在上面的例子中,我們使用了addEventListener方法來監(jiān)聽一個(gè)按鈕的點(diǎn)擊事件。當(dāng)按鈕被點(diǎn)擊時(shí),彈出一個(gè)提示框顯示“Hello World!”。
除了click事件,還可以監(jiān)聽鼠標(biāo)移入、移出、按下、松開等事件。
var box = document.getElementById("myBox"); box.addEventListener("mouseover", function(){ this.style.backgroundColor = "red"; }); box.addEventListener("mouseout", function(){ this.style.backgroundColor = "white"; });
在上面的例子中,我們使用了mouseover和mouseout事件來監(jiān)聽鼠標(biāo)移入和移出一個(gè)盒子的操作。當(dāng)鼠標(biāo)移入這個(gè)盒子時(shí),盒子的背景色變成紅色。當(dāng)鼠標(biāo)移出這個(gè)盒子時(shí),盒子的背景色恢復(fù)為白色。
除了給單個(gè)元素添加事件,addevents還可以用于給多個(gè)元素添加事件。下面的例子中,我們遍歷一個(gè)包含多個(gè)按鈕的數(shù)組,為每一個(gè)按鈕添加一個(gè)點(diǎn)擊事件。
var buttons = document.getElementsByTagName("button"); for(var i=0; i在上面的例子中,我們使用了getElementsByTagName方法來獲取頁(yè)面中所有的
addevents還支持傳遞一個(gè)對(duì)象作為第三個(gè)參數(shù)。這個(gè)對(duì)象包含一些選項(xiàng),可以指定事件的一些屬性,比如是否在捕獲階段或冒泡階段觸發(fā):
var box = document.getElementById("myBox"); box.addEventListener("click", function(){ alert("Bubble event"); }); box.addEventListener("click", function(){ alert("Capture event"); }, true);在上面的例子中,我們?yōu)橐粋€(gè)盒子添加了兩個(gè)點(diǎn)擊事件。第二個(gè)參數(shù)傳遞了一個(gè)對(duì)象,該對(duì)象的第三個(gè)屬性設(shè)置為true,表示該事件在捕獲階段觸發(fā)。當(dāng)盒子被點(diǎn)擊時(shí),先彈出“Capture event”,然后再?gòu)棾觥癇ubble event”。
總結(jié)來說,addevents是一個(gè)非常實(shí)用的方法,可以幫助我們?cè)贘avaScript中方便地添加事件。通過傳遞不同的參數(shù),我們可以控制事件的不同行為。無論是單個(gè)還是多個(gè)元素,捕獲階段還是冒泡階段,addevents都可以很好地處理。