2015-05-06 37 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

耻辱。适用于我遇到的大多数情况。哪个特定的浏览器/版本无法使用? –

相关问题