加载后Javascript不会执行

时间:2010-02-01 11:25:56

标签: javascript jquery load

我的网站包含链接,当我点击一下点击时,目标HTML内容使用JQuery加载到“div”中,到目前为止没问题。

我的问题是,当我第三次加载下面的搜索页面时,脚本将不会执行:

<h1><span>Search</span></h1>
<p class="bigtext">Entity</p>
<input type="text" id="searchfield">
<p class="more">
    <a href="#">Find</a>
</p>
<p></p>
<div id="res"></div>

<script type="text/javascript">
    alert("hello");
</script>

观察脚本首次使用两次,但不是第三次。我也试过改变位置等,但没有积极的结果。问题只发生在搜索页面,HTML内容被加载,我也看到使用Firebug的脚本,但它不会执行alert()。

我的一般load-into-div脚本是这样的:

<script type="text/javascript">
$(document).ready(function()
{
    var page = "blog";

    $('a').click(function()
    {
        var id = $(this).attr("id");
        if ( id != null && id !="" )
        {
            page = "index.php/"+id;
            $("#inc").load(page);
        }
    });

    setInterval(function() {
        if (page=="index.php/toplist")
            $("#inc").load(page);
    }, 6000);
});
</script>

有关如何解决此问题的任何建议?提前谢谢。

// Hirre

1 个答案:

答案 0 :(得分:2)

将带有<script>元素的HTML加载到页面中基本上是不可靠的。 jQuery采取了许多步骤来尝试使其跨浏览器工作,但在某些情况下jQuery失败。

所以不要依赖它。将脚本内容保留在基本脚本中,必要时在加载后从回调运行。