2013-07-23 336 views
0

我試圖用JavaScript動態創建DOM按鈕對象。它被完美地創造出來。但我的問題是,如果我嘗試將另一個JavaScript函數分配給其中一個按鈕,其他腳本在創建按鈕時觸發它自己。 popupInsert不等待onClick事件。立即開放。這是我的代碼。我該如何解決這個問題?Javascript函數立即觸發自己

for (var i=0; i<5; i++){ 
            var tr = document.createElement('Tr'); 
            tr.colSpan = '8'; 
            tableBody.appendChild(tr); 


            for (var j=0; j<8; j++){ 

             var td = document.createElement('TD'); 

             if(j>4){ 
             var button = document.createElement('button'); 
             if(j==5) 
              button.innerHTML = "Güncelle"; 
             else if (j==6) 
              button.innerHTML = "Sil"; 
             else{ 
              button.innerHTML = "Düzenle"; 
              button.onClick = popupInsert(); 
             } 
             button.width = '60'; 
             td.appendChild(button); 
             tr.appendChild(td); 
             } 
             else if (j<5) 
              { 

             td.appendChild(document.createTextNode("Cell " + i + "," + j)); 
             tr.appendChild(td); 
              } 
            } 
           } 

回答

3

變化

button.onClick = popupInsert(); 

button.onclick = popupInsert; 

你被分配的功能,而不是函數的結果和你有一個錯字:它是onclick,不onClick

+0

我很生氣,非常感謝 – developerCoder

+1

附註:您應該花時間清理縮進。雜亂無章時,你無法管理一個龐大的代碼。 –