链接不起作用。Jquery 'toggle()' 方法有可能导致这种情况吗?


<div>                                           
<h3 class="ft-default bold inline-block">Callback</h3>                                            
<ul class="Browsingtree02">
<li><a href="/description.html">LoadCallBack</a></li>
<li><a>ChangeCallBack</a></li>
<li><a>beforeJobCallBack</a></li>
<li><a>afterJobCallBack</a></li>
<li><a>afterListCallBack</a></li>
<li><a>afterReadCallBack</a></li>
<li><a>tdClickCallBack</a></li>
<li><a>trClickCallBack</a></li>
<li><a>BlurCallBack</a></li>
<li><a>parentSetDefault</a></li>
<li><a>setValueCallBack</a></li>
<li><a>keyDownCallBack</a></li>
<li><a>afterNewCallBack</a></li>
<li><a>afterDeleteCallBack</a></li>
</ul>
</div>

=================================================

如上所述,您可以看到具有"href"属性的第一个元素"a"。通常情况下,它工作得很好,没有理由不工作,因为它是一个带有href属性的简单"a"标记。

但当我在元素上设置toggle函数时,它就出现了问题。

=================================================

$('#Left .Browsingtree02 li a').toggle(function() {
$(this).addClass('Selected');   
$(this).parent().parent().find('.Browsingtree03').show(200);
}, function() {
$(this).parent().parent().find('.Browsingtree03').hide(200);
$(this).removeClass('Selected');
});

=================================================

如果此代码不存在,则具有该属性的第一个"a"可以正常工作!!

但浏览器无法获取链接,根本无法移动到链接页面。。。

请帮帮我。

由于某些原因,jQuery的切换总是阻止默认操作。参见源代码:

// Make sure that clicks stop
event.preventDefault();

所以我建议不要使用切换功能,而是简单地这样做:

$('#Left .Browsingtree02 li a').click(function(){
var nbclicks = $(this).data('nbc')||0;
$(this).data('nbc', ++nbclicks);
if (nbclicks%2) {
$(this).addClass('Selected');   
$(this).parent().parent().find('.Browsingtree03').show(200);
} else { 
$(this).parent().parent().find('.Browsingtree03').hide(200);
$(this).removeClass('Selected');
}
});​

相关内容

最新更新