我正在用js创建新的html元素。
$('#write_comment').on('click',function(){
$(this).html('<textarea> </textarea><button onclick="test()">save</button>');
});
function test(){
alert('testme');
}
但是在创建了这些textarea
和button
之后,如果我点击save
,则不会发生任何事情。
我可以说有任何jquery函数吗? (newly_created_element).find(js_function)
?
那个或具有相同功能的东西会很高兴。
请帮忙。
答案 0 :(得分: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');
});
答案 1 :(得分:3)
单独创建按钮:
$('#write_comment').on('click',function(){
var myButton = $('<button>save</button>').click(function() {
test();
});
$(this).html('<textarea></textarea>').append(myButton);
});
答案 2 :(得分: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');
});