2015-06-23 67 views
1

腦部疼痛。動態行添加到表中:添加點擊事件不會觸發

我有一個動態添加行到表的計時器。當用戶點擊其中一個動態添加的行時,我想要一個事件觸發 。

我用「PortletTableUseButton」類和使用.on(「click」)標記每個,但它不起作用。

$('.PortletTableUseButton').on("click", function() { 
     alert($(this)); 
    }); 
    setInterval(function() { addRow(); }, 2000); 

    var counter = 2042; 
    function addRow() { 
     counter++; 
     var myRow = "<tr class='PortletTableUseButton'><td>BLOCK-" + counter + "</td><td>Location A</td><td >Use</td></tr>"; 

     $("#Portlet #content tr:last").after(myRow); 
    } 
<div id="Portlet" style="position:absolute; top:500px;left:500px; height:200px;"> 
    <div id="content" style="height:80%;"> 
     <table id="PortletTable"> 
      <tr> 
       <td>File Name</td> 
       <td>Location</td> 
       <td>Action</td> 
      </tr> 
     </table> 
    </div> 
</div> 

回答

4

您沒有正確使用事件委託。每次

$(document).on('click', '.PortletTableUseButton', function() { ... }); 

http://learn.jquery.com/events/event-delegation/

或者,運行點擊功能添加行:試試這個。

+0

謝謝,但沒有變化。該事件不會被觸發。 – Proveniebam

+0

當然可以。你在控制檯中看到任何語法或其他錯誤?添加行後,您的HTML看起來像什麼? – isherwood

+1

謝謝先生。你是對的:你的代碼是正確的。感謝您的幫助:我的大腦現在不那麼疼。 – Proveniebam

相關問題