2013-08-13 4 views
2

div가 선행 검색 결과로 가득 차 있습니다. 타입 어 헤드가 포커스를 잃어 버렸다고 입력되면, 타입 어 헤드 결과가 최상위 위치로 스크롤되는 div를 원합니다. 내가 typeahead.js 사용하고div가 표시되지 않을 때 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에 스크롤 위치를 설정하는 방법이 있습니까? 무슨 일이 일어나고 있는지 보여주는

바이올린 : http://jsfiddle.net/tTdF4/

+0

약간의 해킹이 있지만 1px 높이로 div 크기를 조정하고 불투명도를 0으로 변경해보십시오. – MonkeyZeus

+0

이미 숨겨진 div를 숨기고 싶지 않지만 스크롤 위치를 설정하고 싶습니다. – tubaguy50035

+0

기술적으로, 당신은 내 제안을 숨기기 해제하고 있습니다 – MonkeyZeus

답변

1

편집 V3

은 그래서 나는이에 console.log를 추가했습니다 그것은 해고하지 않았다. 그래서 그 대신 on()에서 typeahead() 분할의

$('input[name="customer"]').on('typeahead:closed', function(){ 
    console.log('test'); 
}); 

, 내가 jQuery를 체인을 사용했습니다 지금은 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); 
}); 

Updated fiddle

PS :. 적어도 바이올린에, JQuery와 2.X 및 선행 입력은 IE9 (콘솔 참조),를 사용하는 경우에 모두 scritps에 오류가 있습니다 1.9 (edge) 그 다음 작동합니다.

V3 : 듣는 이벤트에 keypress을 추가하여 누군가 입력 할 때마다 스크롤을 시도합니다 (예 : a 입력, 백 스페이스 입력 및 b 입력).

+0

아마도이 질문에 충분히 명확하지 않습니다,하지만 div 내에서 스크롤 위치를 설정하려면, 전체 창. – tubaguy50035

+0

@ tubaguy50035 오 죄송합니다. 나는 지금 그것에 대해 생각하고 있었다. 형형색색의 데모에는 두루마리가 없습니다. 내가 볼 수있는 스크롤링 어딘가에 데모가 있습니까? 그래서 나는 그 답을 시험하고 편집 할 수 있었다. 그러나 그것은 이와 같습니다. – RaphaelDDL

+0

그건 작동하지 않습니다. 다음은 문제가 무엇인지 잘 보여주는 바이올린입니다. http://jsfiddle.net/tTdF4/ – tubaguy50035

관련 문제