Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让js知道新创建的html元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何让js知道新创建的html元素

Javascript 如何让js知道新创建的html元素,javascript,jquery,html,Javascript,Jquery,Html,我正在用js创建新的html元素 $('#write_comment').on('click',function(){ $(this).html('<textarea> </textarea><button onclick="test()">save</button>'); }); function test(){ alert('testme'); } $('write#u comment')。在('click',function()上{

我正在用js创建新的html元素

$('#write_comment').on('click',function(){
  $(this).html('<textarea> </textarea><button onclick="test()">save</button>');
});

function test(){
 alert('testme');
}
$('write#u comment')。在('click',function()上{
$(this.html('save');
});
功能测试(){
警报(“testme”);
}
但是在创建了这些
textarea
按钮之后,如果我单击
save
,什么都不会发生

有没有jquery函数我可以说<代码>(新创建的元素)。查找(js函数)

这或具有相同功能的东西将是很好的

请帮忙

$('write#u comment')。在('click',function()上{
$('#write_comment').on('click',function(){
  $(this).html('<textarea> </textarea><button id="test">save</button>');
});

$('body').delegate('#test','click',function(){
 alert('testme');
});
$(this.html('save'); }); $('body')。委托('test','click',function(){ 警报(“testme”); });
使用类

$('#write_comment').on('click',function(){
      $(this).html('<textarea> </textarea><button class="test">save</button>');
    });

    $('body').delegate('.test','click',function(){
     alert('testme');
    });
$('write#u comment')。在('click',function()上{
$(this.html('save');
});
$('body').delegate('test','click',function(){
警报(“testme”);
});

单独创建按钮:

$('#write_comment').on('click',function(){
  var myButton = $('<button>save</button>').click(function() {
    test();
  });
  $(this).html('<textarea></textarea>').append(myButton);
});
$('write#u comment')。在('click',function()上{
var myButton=$('save')。单击(函数(){
test();
});
$(this.html(“”).append(myButton);
});

好主意,我不知道这样行得通,@Musa,谢谢。我不得不将js函数放在
$(function(){})
@Musa之外,为什么我不能在该文本区域内单击并写入任何内容??interesting@Musa,如果我试图在内部写东西,这会把我赶出文本区。你必须去掉div上的点击处理程序
$('#write_comment').on('click',function(){
  $(this).html('<textarea> </textarea><button class="NewlyAdded">save</button>');
});
$(document).on('click','#write_comment button.newlyAdded',function()
{
  alert('testme');
});