2011-03-03 46 views
0

我正在使用該函數,使用addEventListener將每個li添加到每個函數中。據我所知,每點擊一下,都應該調用各個單獨的功能。我怎樣才能分別添加李的每個功能?任何人都可以幫助我..?如何將eventListener添加到每個單獨的函數中?

window.onload = function(){ 

      var myLi = document.getElementById('ul').getElementsByTagName('li'); 

      for(i=0;i<=myLi.length;i++){ 
       myLi[i].addEventListener('click','call'+[i],false); 
      } 

      function call(){ 
       alert('function one called'); 
      } 

      function call2(){ 
       alert('function two called'); 
      } 

      function call3(){ 
       alert('function three called'); 
      } 

     } 
+0

callN()函數有什麼不同?現在對我來說聽起來像你最好重新考慮代碼,所以它不需要X個函數來正確運行。 – Stephen 2011-03-03 05:16:57

回答

1

使用一個數組來存儲你的功能,

var calls = []; 

calls[0] = function() { alert("1 called"); } 
calls[1] = function() { alert("2 called"); } 
.. 

然後添加事件監聽器,

myLi[i].addEventListener('click', calls[i], false); 

看到example

相關問題