Ajax 更新后未连接事件处理程序,新的 dom 元素 (Internet Explorer)
问题:新插入的 Dom 元素未正确连接,函数 deletepost 未触发。这种情况仅发生在 IE 上并且对于仅添加到 DOM 的新元素。
$(function(){
$('#postentry').submit(function() {
var tyu = $('#tittle_ent').val();
if(tyu.length <= 2)
{alert('Enter More Text!'); return false;}else
{
$.ajax({
type:'post',
url: '/posts_in.php',
dataType: "json",
data: $("#postentry").serialize(),
success:function(data){
var tittle = data[0];
var id= data[1];
$('<div></div>').attr('id','post'+id).addClass('boxee').html(tittle).prependTo('#boxer');
$('<img src="img/page-text-delete-icon.png" name="'+id+'">').attr({id:'postchk'+id,onclick: 'deletepost(this.name);'}).appendTo('#post'+id);
$('#tittle_ent').val('').focus();
}
});
return false;
}
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
现场使用jquery
Use jquery live
'onclick' 是古老/老派的东西,特别是在使用 jquery 时。试试这个变体:
'onclick' is ancient/oldschool stuff, especially when using jquery. Try this variant instead:
是的,你必须使用 jQuery live() 函数,更详细的示例可以在这里找到 http://developerfaq.wordpress.com/2011/07/28/fire-event-on-dynamically- generated-dom-element-with-jquery/
Yeah , You must used jQuery live() function, the more detail example can be found here http://developerfaq.wordpress.com/2011/07/28/fire-event-on-dynamically-generated-dom-element-with-jquery/