Javascript 未显示时滚动至div顶部

Javascript 未显示时滚动至div顶部,javascript,jquery,typeahead,typeahead.js,Javascript,Jquery,Typeahead,Typeahead.js,我有一个满是打字搜索结果的分区。当typeahead绑定到的输入失去焦点时,我希望将具有typeahead结果的div滚动到最上面的位置 我正在使用,因此我目前有: $('input[name="customer"]').on('typeahead:closed', function(){ $('div.tt-dataset-customers').scrollTop(0); }); 然而,div永远不会滚动。我认为这是因为div被隐藏了,我也尝试过: $('inp

我有一个满是打字搜索结果的分区。当typeahead绑定到的输入失去焦点时,我希望将具有typeahead结果的div滚动到最上面的位置

我正在使用,因此我目前有:

$('input[name="customer"]').on('typeahead:closed', function(){
    $('div.tt-dataset-customers').scrollTop(0);
});
然而,div永远不会滚动。我认为这是因为div被隐藏了,我也尝试过:

$('input[name="customer"]').on('typeahead:open', function(){
    $('div.tt-dataset-customers').scrollTop(0);
});
这也不管用

有没有办法在未显示的div上设置滚动位置


小提琴显示正在发生的事情:

编辑v3

所以我在上面添加了一个
console.log
,它从未启动过

$('input[name="customer"]').on('typeahead:closed', function(){
    console.log('test');
});
因此,我使用jQuery链,而不是将
typeahead()
on()
拆分,现在它触发
typeahead:closed
。不要问我为什么它没有触发,仍然没有弄明白:(

无论如何,当你键入
a
,向下滚动,单击外部,然后单击输入上的“上一步”时,这将起作用(在chrome v29上测试),列表将被备份

$('input[name="customers"]').typeahead({
    local: ['a','ab','ac','ad','ae','af',
            'ag','ah','ai','aj','ak','al',
            'am','an','ao','ap','aq','ar',
            'as','at','au','av','aw','ax',
            'ay','az'
    ],
    limit: 20,
    name: 'customers',
    rateLimitWait: 100,
    ttl: 300
}).on('typeahead:closed keypress', function(){
    console.log('test');
    $('div.tt-dataset-customers').animate({
        scrollTop: 0
    }, 900);
});

p、 s:至少在fiddle上,jQuery2.X和typeahead在IE9上的两个Scriptp上都会出现错误(请参见控制台),如果您使用
1.9(edge)
,那么它就可以工作了


V3:在监听的事件中添加了
keypress
,这样每当有人键入内容时,它都会尝试向上滚动(例如,包括键入
a
、退格和键入
b
).

这有点麻烦,但你可以尝试将div大小调整为1px高度,并将不透明度更改为0。我不想隐藏一个已经隐藏的div,我想设置滚动位置。从技术上讲,你是在用我的建议取消隐藏。问题是,typeahead.js在呈现建议时不会触发事件。因此我没有我可以听的事件,以观察充满建议的div变得可见。它确实有“关闭”事件。在我的问题中,这可能不够清楚,但我想在div中设置滚动位置,而不是整个窗口。@tubaguy50035哦,对不起。我现在正在考虑这个问题。typeahead演示没有滚动,你有一个我可以看到滚动结果的演示?所以我可以测试和编辑答案。但这是一个问题就像这样。这不起作用。这里有一把小提琴,希望能说明问题所在:@tubaguy50035用你的小提琴更新了答案。如果你使用链接而不是自己调用
on()
。@tubaguy50035很高兴能帮上忙=)