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

时间:2012-12-06 08:21:55

标签: jquery html

<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'标签。

但是当我在元素上设置切换功能时会出现问题。

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

$('#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”就可以正常工作!!

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

请帮帮我。

1 个答案:

答案 0 :(得分:0)

由于某些原因,jQuery的切换始终会阻止默认操作。见source code

// 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');
    }
});​