我的网站包含链接,当我点击一下点击时,目标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
答案 0 :(得分:2)
将带有<script>
元素的HTML加载到页面中基本上是不可靠的。 jQuery采取了许多步骤来尝试使其跨浏览器工作,但在某些情况下jQuery失败。
所以不要依赖它。将脚本内容保留在基本脚本中,必要时在加载后从回调运行。