我构建jquery来构建自定义电子邮件系统(左窗格消息列表 - 右窗格选择或当前消息)....
在进行Ajax调用之后(例如 - 删除消息并使用 .load 重新加载左窗格以更新列表),来自那里的调用将从那里失败(就好像重新加载的内容不再看到页面上的ajax ......并且没有任何反应)
以下是删除邮件的jquery的示例。 deleteMail脚本还回显了更新的列表..
$('#leftmail&#39)。HTML(装载).load(' /pages/mail/async/deleteMail.php',{' ID' :id});
有没有人知道为什么会这样?这是一个特别的东西吗?
请帮忙!谢谢!
˚F
答案 0 :(得分:1)
将事件绑定到元素只发生一次。通过AJAX加载窗格时,这些事件将丢失,并且不会在新获取的元素上重新创建。
jQuery live()
函数就是为此而设计的。您需要$('element').click(function() {})
而不是$('element').live('click', function() {})
,而是让这些点击事件适用于在初始domready
事件之后加载的内容。