2012-12-06 101 views
1
<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> 

============================================= ==================================鏈接不起作用。 Jquery的'toggle()'方法可能導致這種情況嗎?

如上所述,您可以看到第一個元素'a'具有'href'屬性。 通常情況下,它工作正常,沒有理由不工作, ,因爲它是一個簡單的'a'標籤與href屬性。

但是,當我將切換功能放在元素上時會出現問題。

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

$('#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'就行得通!

但瀏覽器不能得到該鏈接,不會移動到鏈接頁面在所有...

請幫助我。

+0

http://jsfiddle.net/zerkms/JTaA4/ ---因爲你可以看到 - 這不是問題 – zerkms

+1

@zerkms它在那裏工作,因爲#Left不存在,所以它不會觸發函數 – Anton

+0

@dystroy:http://api.jquery.com/toggle-event/ – zerkms

回答

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

非常感謝,這非常有幫助。 – hina10531

相關問題