为什么我的jquery只在页面刷新后启动?

时间:2012-03-06 19:17:18

标签: jquery ajax

我的jquery有问题。我使用ajax登录我的帐户,其中运行一些PHP来根据设置的会话更改一些菜单。但是因为页面永远不会重定向,但内容发生了变化,它似乎打破了页面上的所有jquery,直到我点击“刷新”并且所有jquery再次正常工作。

如何解决此问题?

我已将包含重大问题的代码部分添加到此js fiddle

3 个答案:

答案 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文件中。