オペラのテキストボックスに必要なインデックスにフォーカスを設定する方法
-
07-07-2019 - |
質問
私はテキストボックスを持っていますが、テキストボックスの必要なインデックスにフォーカス/カーソルを設定する必要があります オペラブラウザで。
解決 2
urのコードは正常に機能しますが、オペラで衝突します。
次のコードスニペットを追加
if(elem.createTextRange) {
はオペラにも当てはまりますが、createTextRangeはIEでのみサポートされます。
だから私はurコードの小さな変更を変更しました
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();
}
}
}
他のヒント
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
caretPos:カーソルの位置
所属していません StackOverflow