我的jquery有问题。我使用ajax登录我的帐户,其中运行一些PHP来根据设置的会话更改一些菜单。但是因为页面永远不会重定向,但内容发生了变化,它似乎打破了页面上的所有jquery,直到我点击“刷新”并且所有jquery再次正常工作。
如何解决此问题?
我已将包含重大问题的代码部分添加到此js fiddle
中答案 0 :(得分:0)
确保您使用的是jQuery的live功能:
$(document).ready(function() {
// Do your AJAX here
$.ajax({
// blah blah
});
// Do the rest of your functionality here:
$('a.class_name').on('click',function() {
// Change stuff when you click this link
});
});
答案 1 :(得分:0)
根据Jamie的回答。使用诸如click之类的事件处理程序时,您只在初始页面加载时注册事件处理程序。 页面元素的任何后续加载都不会被注册。
您需要使用delegate或live来注册您的事件处理程序。这样,您不会直接使用元素注册事件,而是使用更高的元素注册它,并将事件委派给您的特定元素。在您的情况下,它将被委托给您的元素。
看看this。
答案 2 :(得分:0)
答案最终是因为我没有将手风琴jquery脚本包含在外部包含的php文件中。