簡體   English   中英

將選擇范圍移到縮小元素的末尾

[英]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使輸入變小。

_moveCursorToEndsetTimeout是必需的,因為否則效果將不起作用。 問題是,盡管setTimeout具有1毫秒,但這似乎是造成光標移動不便的第二個原因。

有什么方法可以將游標移動到可以在Safari Mobile 6(iOS 6+)上運行的末尾而不會造成難看的延遲?

我最終將事件從focus更改為click並使用如上所述的類似代碼來使其正常工作。 好像從一個點擊,着重文本編輯后應用選擇focus處理器和之前click處理程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM