在打字稿中我需要实现输入元素的特定 caretPosition 。但是当我尝试实现它时, HTMLElement <类型中不存在 createTextRange 类型/ strong>即可。 任何人都有解决方案?提前谢谢。
以下是我的代码
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()undefined
答案 0 :(得分:10)
将el
变量投射到HTMLInputElement
。
UPD:
const input : HTMLInputElement = <HTMLInputElement>el;
答案 1 :(得分:0)
这很奇怪,因为我实际上没有在HTMLElement API中看到这个方法createTextRange
你在哪里得到这个方法,因为在API中根本没有这样的方法,也许你使用了一些外部的库。