问题:当文档准备好时,jQuery将启动下面的选项卡功能。然后,在选项卡完成后,它再次启动文档准备功能。只触发一次文档就绪功能的好方法是什么?谢谢
$(document).ready(function() {
$("#index-tabs").tabs({
cache: true
}, {
idPrefix: 'ui-tabs-index'
});
});
我的标签页:
<ul id="index-tablist">
<li id="index-config-tab" class="frstTab"><a href="ajax/config.html" >Config</a></li>
<li id="index-system-tab"><a href="ajax/system.html" >System</a></li>
<li id="index-wizard-tab"><a href="ajax/wizard.html" >Wizard</a></li>
</ul>
更新:我尝试使用load参数来指定要加载的函数。但由于某种原因,当执行tabs()时,它会重新加载索引并执行两次tabs函数。
$("#index-tabs").tabs({
load:initScripts,
cache: true
}, {
idPrefix: 'ui-tabs-index'
});
function initScripts(){
alert('run this code once'); // This alerts twice for some reason.
}
您应该知道就绪事件不能多次激发。现在发生的情况是,ready中的语句被执行了两次(仔细看,它们不是同一回事)。
在Chrome的检查器或Firebug脚本面板中,在就绪条目上设置一个断点,并在页面加载时跟踪流。您将很容易看到是什么导致语句执行两次。(5分钟运动)。
您可以放心,ready不会多次开火。