这是有问题的代码:
$(".navItems>ul>li").live('click', function() {
var selectorID = $(this).attr('id');
$(".infoList").slideUp('fast', function(){
switchTabInfo(selectorID);
});
function switchTabInfo(selectorID){
var actionID = selectorID.substring(4);
actionID = "#" + actionID;
$(actionID).slideDown();
}
})
所以简而言之,我有一个这些 .infoList 类,其 id 名称与导航 li id 相关联。例如,列出项目的 id 可能是 nav_testsHistory。由于所有内容框都被类名隐藏,这个 javascript 产生了令人愉悦的上下滑动效果。
但是第三个内容框会闪烁,第三个框推送后第二个内容框也会闪烁。它上下滑动了第二次不必要的时间。
如果我添加这样的警报:
$(".navItems>ul>li").live('click', function(){
var selectorID = $(this).attr('id');
$(".infoList").slideUp('fast', function(){
switchTabInfo(selectorID);
alert('bubble');
});
警报触发3次?!
所以我的研究转向阅读事件泡沫。我找不到的是如何检查它是否已被解雇。我没有尝试设置输入 val 并围绕嵌套滑块操作进行 tf 测试。因为那很粗鲁。
更多信息,上面的所有代码都在一个函数中,该函数在一个 init() 函数中,该函数在文档准备好时被调用。这是除了 jquery 1.3.2 之外唯一的 js 文件。
你们有什么感想?