js批量註冊事件處理函式程式碼例項

antzone發表於2017-04-02

本章節介紹一下如何批量註冊事件處理函式,這一個技能是非常重要的。

如果有一個元素或者兩個元素註冊事件處理函式的話,逐個註冊還不是很麻煩,但是如果大量的元素需要註冊事件處理函式,你再一個一個進行,那豈不是要忙到地老天荒,下面進入正題。

一.使用迴圈批量註冊:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
ul li{
  width:500px;
  list-style-type:none;
  font-size:12px;
  line-height:30px;
  height:30px;
  cursor:pointer;
}
</style>
<script>
window.onload=function(){
  var obox=document.getElementById("box");
  var lis=obox.getElementsByTagName("li");
  var odiv=document.getElementById("show")
  for(var index=0;index<lis.length;index++){
    lis[index].onclick=function(){
      odiv.innerHTML=this.innerHTML;
    }
  }
}
</script>
</head> 
<body> 
<ul id="box">
  <li>螞蟻部落歡迎您,只有努力奮鬥才會有美好的未來</li>
  <li>本站的地址是softwhy.com歡迎訪問,提供有益的建議和意見</li>
  <li>沒有人一開始就是高手,必須要努力奮鬥才行</li>
  <li>本站建立於2012年,目的是為使用者提供免費的詳實的教程</li>
  <li>每一天都是新的,所以必須要好好珍惜,不能夠浪費</li>
</ul>
<div id="show"></div>
</body> 
</html>

上面的程式碼是使用for迴圈方式來批量註冊事件處理函式的,每一個元素都進行註冊。

二.採用委託的方式:

所謂的委託就是將自己的事情委託給父元素處理,利用的是事件冒泡原理。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
ul li{
  width:500px;
  list-style-type:none;
  font-size:12px;
  line-height:30px;
  height:30px;
  cursor:pointer;
}
</style>
<script>
window.onload=function(){
  var obox=document.getElementById("box");
  var odiv=document.getElementById("show");
  obox.onclick=function(ev){
    var ev=window.event||ev;
        var target=ev.target||ev.srcElement;
        if(target.tagName="LI"){
          odiv.innerHTML=target.innerHTML;
    }
  }
}
</script>
</head> 
<body> 
<ul id="box">
  <li>螞蟻部落歡迎您,只有努力奮鬥才會有美好的未來</li>
  <li>本站的地址是softwhy.com歡迎訪問,提供有益的建議和意見</li>
  <li>沒有人一開始就是高手,必須要努力奮鬥才行</li>
  <li>本站建立於2012年,目的是為使用者提供免費的詳實的教程</li>
  <li>每一天都是新的,所以必須要好好珍惜,不能夠浪費</li>
</ul>
<div id="show"></div>
</body> 
</html>

相關閱讀:

(1).var ev=window.event||ev參閱var ev=window.event||ev的作用是什麼一章節。

(2).target屬性參閱javascript event.target一章節。

(3).srcElement屬性參閱javascript event.srcElement一章節。

(4).tagName屬性參閱javascipt tagName一章節。

(5).事件冒泡參閱javascript事件冒泡簡單介紹一章節。

相關文章