2012-09-13 2 views
1

텍스트를로드하는 div 요소 (보통 긴 텍스트)가 있으므로 div에는 스크롤 막대가 있습니다. 이 div를 마우스로 스크롤 할 수 있는데, 커서가있을 때 위와 아래로 스크롤 할 수 없습니다. 먼저 div 내부를 클릭하지 않으면됩니다. 그렇다면이 클릭을 피하는 방법이 있습니까? 텍스트가로드 될 때 코드에서이를 수행 하시겠습니까?클릭하지 않고 키보드로 스크롤하려면 div를 활성화하십시오.

+0

설명을 위해 jsfiddle와 같은 샘플 코드를 추가 할 수 있습니까? 도와 드리고 싶지만, 정확한 문제에 대해 잘 모르겠습니다. – Todd

+0

그래, 그게 조금 도움이 되길 바랄 수 http://jsfiddle.net/BQQ8C/1/ – david

답변

1

설명했듯이 여기에 있습니다. 콘텐츠 div에 입력을 추가 한 다음 div에 초점을 맞추기보다는 focus()로 추가했습니다. 따라서, 텍스트로드를 누르는 즉시, pg up/dn을 눌러 div를 스크롤 할 수 있습니다.

$("div").append('<input type="text" id="focusDiv">'); 
    /* 
Here I need to have some code which gives "focus to the div, so if I press the load text and then immediately PageDown key, sthedvis scrolls down. 

$("button").on("click", function (e) { 
    e.preventDefault(); 
    $("div").html("Very long text..."); 
    $("div").append('<input type="text" id="focusDiv">'); 
    $('#focusDiv').focus(); 
}); 
+0

내 대답은 조금 해킹 - ish입니다 ... – Todd

+0

좀 더 유효한 해결책을 찾으려고했지만 이것은별로 나쁘지 않고 훌륭하게 작동합니다. 감사합니다! – david

0

HERE IT IS는 대답은 여기에 나를 위해 일한 : 기본적으로

Set keyboard focus to a <div>

이 사업부에 tabindex을 추가

<div id="mydiv" tabindex="-1"> 

다음 프로그램 사용하여 초점을 설정합니다 : document.getElementById ("mydiv"). focus(); 원래의 게시물에서

:

tabIndex 값이 몇 가지 흥미로운 행동 할 수 있습니다.

  • 의 값이 주어진다면 "-1"의 요소에 탭 수 없지만 포커스 프로그래밍 소자에 주어질 수있다 (element.focus()를 사용).
  • 0 값이 주어지면 요소는 키보드를 통해 집중화되고 은 문서의 탭 이동 흐름에 해당합니다.
  • 0보다 큰 값은 이고 1이 가장 중요하다는 의미로 우선 순위를 만듭니다.
+0

여기서 참조하는 대답의 관련 세부 정보를 포함 할 수 있습니까? – wogsland

관련 문제