javascript的效果在ajax回复中不起作用

时间:2011-11-27 05:10:35

标签: javascript jquery ajax effect

我是AJAX的新手。我在互联网上搜索了很多,但只获得了基本的AJAX步骤。现在我正在使用AJAX编写代码,但这是我不断遇到的常见问题。

当我将返回文本放在HTML页面的特定ID中时,Javascript效果不起作用。 CSS工作正常但Javascript效果,如表排序,jQuery效果或任何其他效果不起作用。我知道我在这里错过了一些概念。但没有得到任何有效的答案。

请建议我该怎么办?这背后的概念是什么......

2 个答案:

答案 0 :(得分:3)

当您的jquery第一次运行并将事件绑定到页面上的元素时,您添加到DOM(页面)的新HTML不存在。你可能正在使用$(“something”)。click(...)或.bind(“click”,...)。而不是使用jquery中的委托函数。代表通常比现场更灵活,更快捷。例如,你无法在“实时”绑定中停止传播。

Jquery Delegate

Why Delegate is better than Live

这是解释委托

的好处的另一个SO answer

答案 1 :(得分:0)

最有可能发生的事情是您的事件未被绑定,因为您使用新元素更新DOM。最简单的解决方案是使用live方法绑定到事件:http://api.jquery.com/live/

或者您可以在插入DOM之后简单地将事件重新绑定到元素上。

编辑

正如用户kasdega所指出的,另一种选择是使用委托:http://api.jquery.com/delegate/委托通过使用绑定的根元素作为上下文来将事件重新绑定到将来可能出现的DOM元素。