2016-03-17 94 views
0

這是一個java文件,它動態生成一個文本框div &。jquery keyup動​​態生成div

JS文件

var count = 6; 
$(document).ready(function(){ 
    $("#addmoreParam").click(function(){ 
     $("#showParam tr:last").before("<tr><td><div style=\"width:150px;background-color:#FFF; height:20px;\" contenteditable=\"true\" class=\"paramDiv\" id="+count+"></div></td><td><input type=text name=\"paramValue" + count +"\" class=paramValue /></td></tr>"); 
     count++; 
    }); 
}); 

下面是寫什麼的div時產生警報代碼。我努力努力,它沒有給予警報框。

$(function(){ 
    $(".paramDiv").on('keyup', '.paramDiv', function(){ 
     alert('dd'); 
    }); 
}); 

我正在使用jquery-1.9.1.js。在這個jQuery版本中是否支持on

+2

'$(文件)。在( 'KEYUP', '.paramDiv',函數(){ 警報( 'DD'); });' – Tushar

+0

@Harshit是否^^^^解決你的問題? – Tushar

回答

3

作爲每事件代理:

事件代理是指使用事件傳播(鼓泡)在DOM比在其上該事件源自的元件更高的水平來處理事件的進程。它允許我們爲現在或將來存在的元素附加單個事件監聽器。在事件處理函數中。

問題與您的代碼是,您沒有將事件附加到現在和將來存在的元素。如#showParam。使用

$('#showParam').on('keyup', '.paramDiv', function(){ 
     alert('dd'); 
}); 
+1

如果這應該工作,那麼爲什麼不關閉作爲杜佩而不​​是回答。這是反覆回答的常見問題。請關閉這樣明顯的**,而不是回答。 – Tushar

+1

@Tushar:OP使用了授權的概念。並且使用了錯誤的方法,這裏指出了這一點。 –

+0

代表團的概念在後文中有很好的解釋。如果帖子即使間接回答問題,也可以用作僞裝目標。 [OP也接受這是愚蠢的(_indirectly_)](http://stackoverflow.com/questions/36055335/jquery-keyup-dynamically-generated-div#comment59758618_36055335) – Tushar