come impostare lo stato attivo nell'indice richiesto sulla casella di testo per l'opera
-
07-07-2019 - |
Domanda
Ho una casella di testo in cui devo impostare focus / cursore sull'indice richiesto della casella di testo nel browser dell'opera.
Soluzione 2
il tuo codice urla funziona bene, ma si sta scontrando in opera.
perché il seguente frammento di codice
if(elem.createTextRange) {
è anche vero per l'opera, ma createTextRange sarà supportato solo da IE.
Quindi ho modificato poche modifiche nel tuo codice
function SetCaretPosition(elemId, caretPos) {
var elem = document.getElementById(elemId);
if (elem != null) {
if ($.browser.msie) {
if (elem.createTextRange) {
var range = elem.createTextRange();
range.move('character', caretPos);
range.select();
}
}
else {
if (elem.selectionStart) {
elem.focus();
elem.setSelectionRange(caretPos, caretPos);
}
else
elem.focus();
}
}
}
Altri suggerimenti
function SetCaretPosition(elemId, caretPos) {
var elem = document.getElementById(elemId);
if(elem != null) {
if(elem.createTextRange) {
var range = elem.createTextRange();
range.move('character', caretPos);
range.select();
}
else {
if(elem.selectionStart) {
elem.focus();
elem.setSelectionRange(caretPos, caretPos);
}
else
elem.focus();
}
}
}
elemId: id dell'elemento
caretPos: posizione del cursore
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow