2013-08-22 78 views
0
sqHTML = "<div id=\""+sqStringTemp+"\" class=\"puzzlesquare\"><input type=\"text\" class=\"puzzlesquareinput\" maxlength=\"1\" style=\"text-transform: uppercase\"/></div>"; 
jQuery("#gridpuzzleouter").append(sqHTML); 

jQuery(".puzzlesquareinput").on('keydown', '', function() { 
    alert("keydown..."); 
}); 

我還沒有得到任何警告出來.puzzlesquareinput。我想知道如何綁定到每個.puzzlesquareinput的keydown事件。綁定到使用jQuery的keydown事件上的功能

回答

4
jQuery(".puzzlesquareinput").on('keydown', function() { 
    alert("keydown..."); 
}); 

當前的代碼工作...確保沒有JavaScript錯誤...和/或包裝你的代碼在$(document).ready ...嘗試檢查控制檯...

這裏是你當前的代碼的小提琴這是工作http://jsfiddle.net/reigel/fcTqP/

+0

我認爲你是對的。有需要修復的控制檯出現錯誤。 – Giuseppe

3

您需要將事件委託給.puzzlesquareinput的父項,即#gridpuzzleouter。確保你包含jquery successffully並綁定事件document.ready

Live Demo

更改爲

jQuery("#gridpuzzleouter").on('keydown', '.puzzlesquareinput', function() { 
     alert("keydown..."); 
}); 
+0

毫無戒備出來仍。 – Giuseppe

+0

使用現場演示檢查更新答案,確保您包含jquery successffully並將事件綁定到document.ready中。 – Adil

0
jQuery(".puzzlesquareinput").on('keydown', '', function() { 
              ^this is the selector, and you are 
              selecting nothing 

是毫無意義的這樣做,除非你希望它應用到以後創建的所有.pzzlesquareinput。試試這個:

$(".puzzlesquareinput").keydown(function(){ 
    //... 
}); 

<input class="puzzlesquareinput"> 

http://jsfiddle.net/DerekL/2cYYB/

相關問題