javascript事件處理函式迴圈批量繫結簡單介紹
在實際應用中,事件處理函式迴圈批量註冊是非常常見的,例如多個元素註冊事件處理函式的時候,它的優勢非常的明顯,如果挨個註冊將是一件非常龐大的工作,如果批量進行註冊,那麼將會輕鬆很多。
先看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> ul li{ list-style:none; height:25px; line-height:25px; width:150px; font-size:12px; } #show{ width:100px; font-size:12px; color:red; } </style> <script type="text/javascript"> window.onload=function(){ var lis=document.getElementsByTagName("li"); var show=document.getElementById("show"); for(var index=0;index<lis.length;index++){ lis[index].onclick=function(){ show.innerHTML=index; } } } </script> </head> <body> <div id="show"></div> <ul> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> <li>螞蟻部落四</li> </ul> </body> </html>
以上程式碼的初衷是,點選li元素的時候,能夠獲取當前li元素的索引值,但是令人遺憾的是,點選任何元素獲取的值都是4,這是因為當通過for迴圈給每一個li元素註冊事件完畢之後,index的最終值會變成4,程式碼修改如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> ul li{ list-style:none; height:25px; line-height:25px; width:150px; font-size:12px; } #show{ width:100px; font-size:12px; color:red; } </style> <script type="text/javascript"> window.onload=function(){ var lis=document.getElementsByTagName("li"); var show=document.getElementById("show"); for(var index=0;index<lis.length;index++){ (function(index){ lis[index].onclick=function(){ show.innerHTML=index; } })(index) } } </script> </head> <body> <div id="show"></div> <ul> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> <li>螞蟻部落四</li> </ul> </body> </html>
以上程式碼實現了我們的要求,可以正確獲取點選元素的索引值。
相關文章
- javascript事件處理函式繫結簡單介紹JavaScript事件函式
- for迴圈批量註冊事件處理函式事件函式
- javascript刪除註冊的事件處理函式簡單介紹JavaScript事件函式
- JavaScript 批量註冊事件處理函式JavaScript事件函式
- 為什麼用for迴圈繫結的事件處理函式只有最後一個有效事件函式
- 封裝javascript事件處理函式繫結和解綁程式碼封裝JavaScript事件函式
- javascript匿名函式簡單介紹JavaScript函式
- javascript call()函式用法簡單介紹JavaScript函式
- javascript trim()函式用法簡單介紹JavaScript函式
- javascript高階函式簡單介紹JavaScript函式
- javascript函式呼叫方式簡單介紹JavaScript函式
- js dom元素事件處理簡單介紹JS事件
- javascript批量註冊事件處理函式程式碼例項JavaScript事件函式
- javascript定時器函式簡單介紹JavaScript定時器函式
- javascript呼叫函式的方式簡單介紹JavaScript函式
- javascript匿名函式的使用簡單介紹JavaScript函式
- setTimeout()函式延遲迴圈語句的異常簡單介紹函式
- javascript遞迴概念簡單介紹JavaScript遞迴
- javascript匿名函式的優點簡單介紹JavaScript函式
- js如何批量註冊事件處理函式JS事件函式
- JavaScript 註冊事件處理函式JavaScript事件函式
- javascript封裝相容所有瀏覽器的繫結和刪除事件處理函式JavaScript封裝瀏覽器事件函式
- nodejs事件和事件迴圈簡介NodeJS事件
- javascript函式和變數宣告提前簡單介紹JavaScript函式變數
- javascript函式宣告兩種主要方式簡單介紹JavaScript函式
- javascript陣列的map()函式用法簡單介紹JavaScript陣列函式
- javascript建構函式的繼承簡單介紹JavaScript函式繼承
- javascript非建構函式繼承簡單介紹JavaScript函式繼承
- js迴圈中reduce的用法簡單介紹JS
- js如何退出迴圈語句簡單介紹JS
- JavaScript函式繫結JavaScript函式
- js如何給繫結的事件處理函式傳遞引數JS事件函式
- javascript鏈式呼叫簡單介紹JavaScript
- 函式表示式和函式宣告簡單介紹函式
- javascript函式讀取變數作用域簡單介紹JavaScript函式變數
- javascript事件控制程式碼簡單介紹JavaScript事件
- match函式簡單介紹以及與index函式結合應用函式Index
- Python簡單函式迴圈綜合例項Python函式