第一个问题是,当您在具有多个元素的jQuery集合上调用append时,会为每个元素创建要添加的元素的克隆,因此丢失了附加的事件观察器。
一种替代方法是为每个元素创建链接:
function handler() { alert('hello'); }$('.add_to_this').append(function() { return $('<a>Click here</a>').click(handler);})
另一个潜在的问题可能是在将元素添加到DOM之前附加了事件观察器。我不确定是否有话要说,但是我认为这种行为可能不确定。一个更可靠的方法可能是:
function handler() { alert('hello'); }$('.add_to_this').each(function() { var link = $('<a>Click here</a>'); $(this).append(link); link.click(handler);});
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)