In typescript i need to implement specific caretPosition of an input element.But when i try to implement it shows createTextRange type does not exists in type HTMLElement. any one have solution for this?? Thanks in advance.
following is my code
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;
}
}
}
}
it is showing createTextRange() undefined
In typescript i need to implement specific caretPosition of an input element.But when i try to implement it shows createTextRange type does not exists in type HTMLElement. any one have solution for this?? Thanks in advance.
following is my code
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;
}
}
}
}
it is showing createTextRange() undefined
Share Improve this question edited Nov 12, 2015 at 7:00 Jaleswar Putel asked Nov 12, 2015 at 6:29 Jaleswar PutelJaleswar Putel 511 silver badge3 bronze badges 4- post your code, so we could better help you out – svarog Commented Nov 12, 2015 at 6:40
- hi i have updated the code.thanks – Jaleswar Putel Commented Nov 12, 2015 at 7:01
-
In
el.setSelectionRange(length, length);
, where is length defined or assigned a value? – RobG Commented Nov 12, 2015 at 7:09 - hi Rob , that is just a global javascript value (i.e. 10, 20 or 30 what ever) – Jaleswar Putel Commented Nov 12, 2015 at 7:17
2 Answers
Reset to default 15Cast el
variable to HTMLInputElement
.
UPD:
const input : HTMLInputElement = <HTMLInputElement>el;
It's strange because I actually don't see this method createTextRange in HTMLElement API
Where did you get this method, because where is no such method in API at all, maybe you using some external libs.