2015-05-06 39 views
0

我有這樣的:爲什麼我需要點擊兩次來啓動這個jQuery事件?

$(".slideDownArrow").click(function(){ 
    currentBlockIndex++; 
    $('.secondLevel li').eq(currentBlockIndex).trigger('click'); 
}); 

,當我點擊slideDownArrow它爲我和許多其他人,但並不適合每一個人 - 我的客戶必須點擊兩次觸發secondLevel li click事件。這可能是什麼原因,我該如何解決這個問題?

secondLevel li點擊功能:

$('.secondLevel li, .exteriorBox li').bind('click', function(){ 

    var el = $(this), 
    elIndex = el.index(); 
    $('html, body').animate({ 
     scrollTop: hArray[elIndex] 
    }, 1000); 
}); 
+2

請發佈一個完整的代碼示例。 – j08691

+0

@ j08691編輯我的文章與其餘的代碼。 – Xeen

+0

嘗試event.stopPropagation(); event.preventDefault(); –

回答

0

直接前往HtmlElement click method代替:

$('.secondLevel li')[currentBlockIndex].click(); 

而不是使用get()[]返回HTML元素。 click是本地點擊事件生成器。

由於該事件是響應用戶點擊,您可以忽略任何有關安全原因的評論。我在所有的瀏覽器上都試過這個,沒有問題。

+0

感謝您的回答,如果這有幫助,我明天會接受:)迄今爲止,對我來說,它繼續工作,將看到客戶端 – Xeen

+0

可悲的是,這並沒有解決問題。 – Xeen

+0

恥辱。適用於我遇到的大多數情況。哪個特定的瀏覽器/版本無法使用? –

相關問題