这是我第一次尝试使用JQuery标签。我有一个简单的文件,在单击选项卡时加载3个其他php文件。
<div id="info">
<ul id="info-nav">
<li><a href="tab1.php">Tab 1</a></li>
<li><a href="tab2.php">Tab 2</a></li>
<li><a href="tab3.php">Tab 3</a></li>
</ul>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#info').tabs();
});
</script>
php文件也使用JQuery并正确加载。当我独立测试文件时,JQuery部分工作正常。但是一旦将它们加载到选项卡中,JQuery就无法运行。即使加载文件中的$(document).ready(function()...)中的简单警报也没有显示。两个文件中的JQuery之间是否存在冲突?谢谢你的帮助。
答案 0 :(得分:0)
本身没有冲突,但发生了两件事之一:
ready
事件。第二个几乎肯定是真的;第一个也可能是。
要找出正在发生的情况,而不是将alert()
置于$(document).ready()
回调中,请将其简单地放在&lt; script&gt;中。给定HTML文件的标记,然后重新加载并选择动态加载该HTML文件的选项卡。在上述第一种情况下(&lt;脚本&gt;标签根本没有被执行),警报将不会显示;在第二种情况下(就绪事件没有解雇),它会。
如果代码正在执行,那么您只需要将代码从回调中取出并将其包装在裸&lt; script&gt;中。标签;它将在浏览器看到后立即执行。否则 - 我建议这在任何情况下都是可取的,出于可维护性的原因 - 您需要重新编写应用程序,以便它不依赖于执行随机&lt; script&gt;中包含的Javascript。标签分散在各种HTML文件中,而是使用一些统一的处理程序来处理加载标签内容时的任何需求。