2016-03-17 95 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