2012-08-29 3 views
2

페이지를 스크롤하고 목록보기 단추를 눌러 해당 스크롤을 시작하면 단추가 스크롤에 대해 강조 표시된 채로 유지되고 스크롤이 끝나면 강조 표시된 채로 있습니다. 스크롤을 시작할 때 어떻게 이것을 선택 해제 할 수 있습니까?스크롤 목록의 모든 목록보기 항목을 선택 취소하십시오.

$(document).bind('scrollstart', function(ev) { 
    $('*').blur(); 
}); 

하지만 이것은 비효율적이며, 스크롤이 시작하기 전에 지연 할 수있는 페이지가 발생, 난 그냥 a, li, ui-btnui-li bluring 시도했다, 그러나 이것은 '아무튼 :

내가이 할 경우 작동 그것을 강조 표시하지 마십시오.

+0

목록보기 버튼은 무엇인가 :

.removeClass('ui-btn-down-a ui-btn-down-b ui-btn-down-c ui-btn-down-d ui-btn-down-e') 

그냥로 변경? [초점 선택기] (http://api.jquery.com/focus-selector/) - 이것을 사용해 보셨습니까? –

+0

어. 죄송합니다. Jquery 모바일. 하지만 여전히 포커스 선택기가 유용 할 수 있습니다. –

+0

위 코드를 시도했지만'$ ('* : focus'). blur();를 사용했지만 도움이되었습니다.하지만 이상한 점은 강조 표시하지 않습니다. – Timm

답변

2

jQuery Mobile 의사 페이지에서 목록 항목을 클릭하면 기본적으로 ui-btn-down-* 클래스가 목록 항목에 추가됩니다 (*은 테마 문자 중 하나를 나타냅니다).

$(document).on("scrollstart", function() { 
    setTimeout(function() { 
     $.mobile.activePage.find('.ui-li').removeClass('ui-btn-down-a ui-btn-down-b ui-btn-down-c ui-btn-down-d ui-btn-down-e'); 
    }, 100); 
});​ 

UPDATE 이드 XI는 타임 아웃 테이크 아웃 강조 표시된 상태를 도움이 발견 내에서

테스트 :

사용자가 여기에, 스크롤 시작하면 당신은이 클래스를 제거 할 수는 예입니다 더 일관되게. 당신은 자신의 목적을 위해 타임 아웃의 지속 시간을 망칠 수 있습니다. 나는 또한 .ui-btn-hover-* 클래스가 그래서 당신은뿐만 아니라 그 클래스를 제거 할 수있어 미 - 강조 목록으로 돌아가려면, 적용되는 것을 깨달았

http://jsfiddle.net/WrqbG/7/

UPDATE : 여기

는 데모입니다 .

.removeClass('ui-btn-down-a ui-btn-down-b ui-btn-down-c ui-btn-down-d ui-btn-down-e ui-btn-hover-a ui-btn-hover-b ui-btn-hover-c ui-btn-hover-d ui-btn-hover-e') 
+0

굉장한 사람. 굉장해. – shamittomar

관련 문제