2012-06-13 7 views
0

jQuery Handsontable에서 포커스 온로드를 첫 번째 필드로 설정하는 적절한 방법은 무엇입니까?Onload()에서 포커스를 jQuery Handsontable로 설정하는 방법

다음은 예를 들어 링크도 있지만 운이 수동으로 초점없는 설정하려고 한 http://jsfiddle.net/4kvMq/4/

$(function() { 
    $(window).load(function() { 
    $('#example10grid table tbody tr td:first-child').focus(); 
    }); 
}); 

입니다!

$('#btnGo').click(function() { 
    $(".dataTable table tbody tr td:first-child").focus(); 
}); 

많은 분들께 감사드립니다.

답변

2

귀하의 요청에 감사드립니다. 이제이를 수행 할 수있는 공개 방법이 있습니다.

는 버튼을 사용하여

$('#btnGo').click(function(event) { 
    setTimeout(function() { 
     //timeout is needed because Handsontable normally deselects 
     //current cell when you click outside the table 
     $("#example10grid").handsontable("selectCell", 0, 0); 
    }, 10); 
}); 

또는 DOM 준비 :

$(function() { 
    setTimeout(function() { 
     //timeout is needed because Handsontable normally deselects 
     //current cell when you click outside the table 
     $("#example10grid").handsontable("selectCell", 0, 0); 
    }, 10); 
}); 

라이브 예 : http://jsfiddle.net/warpech/4kvMq/35/

+0

감사합니다. 이 해킹은 잘 작동합니다. [GitHub] (https://github.com/warpech/jquery-handsontable/issues/21)에서 요청서를 작성했습니다. – Azi

+0

이제 "selectCell"메소드가 있습니다. 나는 나의 대답을 업데이트 할 것이다. – warpech

+0

정말 고맙습니다. – Azi

1

이 작업을 수행 할 수 없습니다. 문제는 손 잡이가 포커스 이벤트를 처리하는 방식입니다. 클릭 핸들러를 hmtl 요소에 바인드하고 커서가 테이블에 있으면 밀리 초마다 감지합니다. 따라서 특정 요소의 click() 또는 focus()으로 포커스를 변경할 수 없습니다.

보안상의 이유로 자바 스크립트로 커서 위치를 변경할 수 없으므로 jQuery는 기본적으로 클릭 이벤트 나 포커스 이벤트를 트리거 할 수 없으므로 셀의 포커스를 쉽게 변경할 수 없습니다. 선택한 테이블 셀을 변경하기 위해 handsontable 자체 만 수정할 수 있습니다.

+0

새미, 감사를 입력. 정말 감사합니다. – Azi

관련 문제