[英]Move selection to the end on narrowed element
當我在輸入元素上單擊時,我正在用phonegap編寫具有特定“放大”效果的應用程序(所有內容均會隱藏,但會隱藏輸入內容和自定義提前輸入建議)。 該視圖是使用骨干網.js編寫的,我正在重點進入“放大”模式:
events: {
'focus .search': 'startSearch',
}
在我的startSearch
方法中,我正在執行所有邏輯以模仿zoom-in
效果。
_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
使輸入變小。
_moveCursorToEnd
的setTimeout
是必需的,因為否則效果將不起作用。 問題是,盡管setTimeout
具有1毫秒,但這似乎是造成光標移動不便的第二個原因。
有什么方法可以將游標移動到可以在Safari Mobile 6(iOS 6+)上運行的末尾而不會造成難看的延遲?
我最終將事件從focus
更改為click
並使用如上所述的類似代碼來使其正常工作。 好像從一個點擊,着重文本編輯后應用選擇focus
處理器和之前click
處理程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.