2

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

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

function test(){
 alert('testme');
}

但是在这些textareabutton创建之后,如果我点击save,什么也没有发生。

有没有我可以说的jquery函数。(newly_created_element).find(js_function)?

那个或具有相同功能的东西会很高兴。

请帮忙。

4

3 回答 3

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

$('body').delegate('#test','click',function(){
 alert('testme');
});

使用类

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

    $('body').delegate('.test','click',function(){
     alert('testme');
    });
于 2013-04-01T03:58:54.413 回答
3

单独创建按钮:

$('#write_comment').on('click',function(){
  var myButton = $('<button>save</button>').click(function() {
    test();
  });
  $(this).html('<textarea></textarea>').append(myButton);
});
于 2013-04-01T03:59:55.030 回答
2
$('#write_comment').on('click',function(){
  $(this).html('<textarea> </textarea><button class="NewlyAdded">save</button>');
});

$(document).on表现得像.live()delegate()在许多方面。并且适用于稍后添加的元素

$(document).on('click','#write_comment button.newlyAdded',function()
{
  alert('testme');
});
于 2013-04-01T04:02:05.767 回答