2
我試圖在文本框中設置光標/插入符號的位置,使其位於輸入控件文本內容的末尾。有很多這樣做的例子。棘手的部分是如果文本超出了文本框的寬度,我希望文本'滾動'到視圖中,以便文本的末尾和插入符號可見。這正是被問這樣一個問題:IE 8:將插入符號移動到文本輸入字段的末尾並使結尾可見
move caret to the end of a text input field AND make the end visible
有上市的還有,它與Chrome瀏覽器後的工作以及可能(9或更高版本)的IE瀏覽器版本的解決方案,但與IE 8的解決方案沒有按」工作;沒有document.createEvent。我試圖修改代碼,以便我使用createEventObject & fireEvent:
window.setTimeout(function() {
e = document.createEventObject("KeyboardEvent");
e.keyCode = 35;
//textfield.fireEvent('onkeypress', e);
textBox.fireEvent('onkeydown', e);
textBox.fireEvent('onkeyup', e);
textBox.blur();
textBox.focus();
}, 2000);
,但這並沒有給的水平滾動文本眼簾年底預期的效果。有沒有辦法與IE 8做到這一點?
謝謝!
巴黎
編輯:最後,我用這個功能,這似乎是根據我的測試所有主要的瀏覽器。
scrollCaretIntoView: function(textField) {
if (textfield.selectionStart || textfield.selectionStart === 0) {
//For all browsers, except IE 8 and earlier
textfield.selectionStart = textfield.value.length;
textfield.selectionEnd = textfield.value.length;
textfield.blur(); // Webkit wake-up hack
textfield.focus();
} else if (document.selection) {
//IE8 and earlier specific code
textfield.focus();
var range = document.selection.createRange();
range.moveEnd('character', 0); //move 0 characters from current position
range.select();
}
}
我認爲這可能會工作。我發現了另一個我最終使用的解決方案。見上面的評論。 – Notre