在AJAX加载的脚本中初始化jQuery的正确方法是什么?获取:'未捕获TypeError:对象#<对象>没有方法'</object>

时间:2012-10-17 08:46:26

标签: javascript jquery ajax

我已经建立了一个使用索引页面的网站,该索引页面包含一个div,用于将每个页面的内容加载到。

起初我在包含外部js文件并在每个页面内进行初始化,但是加载了8/10倍的页面,依赖于插件初始化的元素没有工作但是会刷新。< / p>

昨天我更改了结构,以便所有外部文件和所有初始化都在索引页面而不是每个单独页面中完成。

现在,一切似乎都是第一次工作,但是第二次通过ajax加载页面时插件没有初始化。

以下是我在索引页面中的操作方式。 (借助导航上的内联js - 不是我!)

// js files included at the top

<div id="navbar">
    <ul class="clearfix">
        <li>
            <a id="myoeHome" onclick="loadContent('/myoe/amb-home.php')" href="javascript:void(0)"> Home </a>
        </li>
        <!-- some more li a's in the nav bar -->
    </ul>
</div>

的jQuery

function loadContent(url) {

    // #content is the containing div where each page is loaded into
    $("#content").load(url, function() {

        if (url == '/myoe/amb-home.php') {

            // initialisations etc. for the particular page

        }

    });


}

关于如何改进结构的任何想法? loadContent函数中甚至有函数,因为我只是将每个页面的所有j移动到它自己的if块中。

1 个答案:

答案 0 :(得分:0)

这是我的解决方案。希望它有所帮助。

HTML

<div id="navbar">
    <ul class="clearfix">
        <li>
            <a id="myoeHome"> Home </a>
        </li>
        <!-- some more li a's in the nav bar -->
    </ul>
</div>

<div id="content"></div>

JS

$("#myoeHome").live("click",function(){

loadContent('/myoe/amb-home.php');
});​​​​​​​​​​​​


    function loadContent(url) {

    // #content is the containing div where each page is loaded into
    $("#content").load(url, function() {

        if (url == '/myoe/amb-home.php') {

            // initialisations etc. for the particular page

        }

    });


}
​