追加后jquery事件无法正常工作

http://jsfiddle.net/YsnhT/2/

追加后Jquery事件开启不起作用。 单击“保存”按钮后,我需要textarea的值。

$('.span8') .on('click', '.btn', function() { var input = $("#textarea").val(); alert(input); }); $('body').on('click','#createNote',function() { $('.span8').empty(); $('.span8').append('
'+ '
'); });

HTML:

 

由于#save是动态创建的,因此请使用以下处理程序:

 $(document).on('click', '#save' ,function() { //do stuff }); 

更新小提琴: http : //jsfiddle.net/tymeJV/YsnhT/3/

您还应该像这样制作“点击”按钮处理程序,否则它将不会触发新创建的#click按钮。

只需以动态格式委派活动:

 $(document).on('click', '#save' ,function() { //do stuff }) 

或许也可以这样做:

 $(document).on('click', '#click' ,function() { //do stuff }) 

save是在这里动态创建的。所以尝试使用on

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

一旦你附加了元素,你需要重新绑定处理程序或使用jQuery的live()函数,如下所示:

 $('.span8 .btn').live('click', function() { var input = $("#textarea").val(); alert(input); }); 

检查一下……

$(’。btn’)。click(function(){

  var input = $("#textarea").val(); alert(input); 

});