我正在过渡到 jquery 1.9 并使用 .on,过去我过于依赖 .live(),当然生活很棒,现在事情再次看起来非常复杂。
我正在尝试将动态内容加载到一些引导选项卡中。但是使用 .on 时,我无法弄清楚在显示 #ticketnotes 时如何触发 ajax 调用。
html如下:
<div class="tabbable ticket_tabs">
<ul class="nav nav-tabs" id="tickettabs">
<li class="active">
<a href="#ticketreplies" data-toggle="tab">Replies</a>
</li>
<li >
<a class="tabtickets" href="#ticketnotes" data-toggle="tab">Ticket Notes</a>
</li>
<li>
<a href="#timetrackticket" data-toggle="tab">Time Track</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="ticketreplies">
$body
$replyForm
</div>
<div class="tab-pane" id="ticketnotes">
<div class="well">
<div class="loader" style="display:none;">
</div>
</div>
$replyForm
</div>
<div class="tab-pane" id="timetrackticket">
<div class="well">time track info</div>
</div>
</div>
加载页面时,“票证回复”已经存在,但鉴于我希望如何将加载时间保持在最低限度,我宁愿单独加载所有相关数据,查看票证并不一定意味着有人要去浏览笔记,因此无需立即加载。
我的最后一次尝试看起来像:
$('#tickettabs').on('show', '.tabtickets', function(){
if($('#ticketnotes').is(":visible")){
alert("hi");
}
});
不用说,它从来没有打过招呼。
如果 Firefox 中的条件正常运行,则运行完全相同。所以我非常有信心问题在于我如何尝试绑定事件处理程序。
我提前感谢你帮助我挽救了我的理智:)