4

在打字稿中,我需要实现输入元素的特定caretPosition。但是当我尝试实现它时,显示HTMLElement类型中不存在createTextRange类型。有人有解决方案吗??提前致谢。

以下是我的代码

private setCaretPosition() {
    var el = document.getElementById("ticketInfo");
    if (el !== null) {
        if (el.createTextRange) {
            var range = el.createTextRange();
            range.move('character', el.value.length);
            range.select();
            return true;
        }
        else {
            if (el.selectionStart || el.selectionStart === 0) {
                el.focus();
                el.setSelectionRange(length, length);
                return true;
            }
            else { // fail city, fortunately this never happens (as far as I've tested) :)
                el.focus();
                return false;
            }
        }
    }
}

它显示 createTextRange() 未定义

4

2 回答 2

14

el变量转换为HTMLInputElement.

升级版:

const input : HTMLInputElement = <HTMLInputElement>el;
于 2016-09-04T12:52:50.650 回答
0

这很奇怪,因为我实际上在HTMLElement API中没有看到这个方法 createTextRange

你从哪里得到这个方法,因为API中根本没有这样的方法,也许你使用了一些外部库。

于 2015-11-19T12:55:35.180 回答