当您点击其他链接时,我正在jquery中创建一个链接。
问题是我想在点击这个新链接时生成警报,但不会触发操作!
$('#test').click(function() {
$("<div/>").html('<a href="#" id="remove">Remove</a>').appendTo("#results");
});
$('#remove').click(function() {
alert('lol');
});
答案 0 :(得分:0)
当你运行
$('#remove').click(function() {
alert('lol');
});
#remove
元素尚不存在..(,因为它是在您点击第一个链接时添加的)
如果将jquery升级到1.7 + ,请使用.delegate()
方法(或.on()
)
$('#results').delegate('#remove', 'click', function(){
alert('lol');
});
演示
v1.7 +的等价物是
$('#results').on('click', '#remove', function(){
alert('lol');
});
答案 1 :(得分:0)
创建元素后必须绑定事件。 将您的代码更改为此代码,它将起作用:
$('#test').click(function ()
{
$("<div/>").html('<a href="#" id="remove">Remove</a>').appendTo("#results");
$('#remove').click(function ()
{
alert('lol');
});
});
答案 2 :(得分:0)
您应该使用委托
$('#test').click(function() {
$("<div/>").html('<a href="#" id="remove">Remove</a>').appendTo("#results");
});
$(window).delegate('#remove','click', function() {
alert('lol');
});