입력 요소 (입력 숨기기 및 사용자 정의 선행 제안을 제외한 모든 항목 표시)를 클릭하면 특정 '확대/확대'효과로 phonegap에 응용 프로그램을 작성하고 있습니다. 뷰는 backbone.js를 사용하여 작성하고 난 초점의 '확대 된'모드로 전환하고 있습니다 :좁은 요소의 끝 부분으로 이동
events: {
'focus .search': 'startSearch',
}
을 내 startSearch
방법은 내가 zoom-in
효과를 immitate를 위해 모든 논리를하고 있어요.
_moveCursorToEnd: function(element) {
var val_len = element.value.length;
element.scrollLeft = val_len * 9;
setTimeout(function() {
element.selectionStart = val_len;
}, 1);
},
startSearch: function() {
window.navbar.hide();
this.$input.addClass('search-input-small');
this.$cancel.show();
var el = this.$input[0];
this._moveCursorToEnd(el);
},
search-input-small
은 입력을 더 작게 만듭니다.
setTimeout
이 _moveCursorToEnd
인 경우 효과가 없으므로 필요합니다. 문제는 setTimeout
이 1msec 임에도 불구하고 불편한 커서 이동의 두 번째 원인 인 것 같습니다.
추한 지연없이 Safari Mobile 6 (iOS 6 이상)에서 작동하는 끝까지 커서를 옮길 방법이 있습니까?