2013-01-22 45 views
0

我想在按下鍵(一次)後將html設置爲「」。這是我的代碼到目前爲止:如何將一個處理程序應用於不同的錶行? (jQuery)

$(document).one("keypress","td",function(){ 
     $(this).html(""); 
}); 

但是,它只適用於一個錶行。有沒有我可以將它應用到我的所有表(它是動態加載的)行?

<table class="table"> 
    <tr> 
     <td contenteditable="True">Some text</td> 
    </tr> 
    <tr> 
     <td contenteditable="True">Some text</td> 
    </tr> 
</table> 
+0

如何申請一個按鍵的TD?這沒有任何意義。按鍵是輸入。 – Steven

+1

@Steven是的,但事件確實會起泡。使用.cleared/addclass的 –

回答

1

我會切換到.on,只是使td不再匹配選擇器後,它已被點擊一次。

$(document).on("keypress","td:not(.cleared)",function(){ 
    $(this).empty()/*.html("")*/.addClass("cleared"); 
}); 

http://jsfiddle.net/VBHpU/1/

+0

與使用.one相同。那麼改變它的好處是什麼? – Steven

+0

.one對於每個選定的元素只會觸發一次,所以它只會在第一次按鍵時起作用,因爲它只綁定到只有一個元素的文檔。 http://jsfiddle.net/VBHpU/ vs http://jsfiddle.net/VBHpU/1/ –

相關問題