Я использую Angular 5 с Ag-Grid Enterprise Addition. Я использую браузер IE11. К сожалению, в сетке курсор застревает и не перемещается к следующим символам в поле ввода с помощью клавиатуры влево / вправо. Итак, я подумал о явном перемещении курсора к следующим символам. Я использую диапазон Javascript для этого. Я получаю сообщение об ошибке в этой строке document.getSelection (). AddRange (range). Ниже приведен код пользовательского NumericComponent, снимок экрана поля ввода и ошибка. Я не уверен, что это правильный подход. Кто-нибудь может подсказать мне, как решить эту проблему?
<input #input id="numericinput" style="width: 100%; height: 100%;" (keydown)="onKeyDown($event)" [(ngModel)]="value" (dblclick) = "$event.target.select()">
<button (click)="clear()" style="position:absolute;top:5px;right:2px;cursor:pointer;color:grey;background-color:white;border:none;">
<span>❌</span>
</button>
onKeyDown(event): void {
var key = event.which || event.keyCode;
if(key === 37 || key === 39){
let error ;
event.stopPropagation();
let inputDocument = document.getElementById('numericinput');
let range = document.createRange();
range.collapse(true);
range.setEnd(inputDocument.firstChild, 0);
range.setStart(inputDocument.firstChild, this.input.element.nativeElement.value.length);
document.getSelection().removeAllRanges;
document.getSelection().addRange(range);
}
if (!this.isKeyPressedNumeric(event)) {
if (event.preventDefault) event.preventDefault();
}
}