输入不像它应该滚动到最右边
我有一个输入字段,我在光标位置追加数据。
之后,我将selectionStart设置为该字段的末尾。
但是,每当我添加一些东西到输入中(通过按钮点击),我只能看到它的左边部分(直到它到达右边缘)。 更多的东西在那里(我可以用鼠标和滚动来选择它),但它不会自动显示右边缘。
我怎样才能做到这一点? 我想添加一些东西到输入并跳到字符串的末尾。
// add 2 digit number
$('button#2digit').on('click', function add2digit() {
addNumberToInput(10, 99);
});
function addNumberToInput(min, max) {
var problemInput = $('input#testProblem');
if (lastCharIsOperation() || problemInput.val().trim() < 1) { // if last char is an operation or first in string, just append the number
addAtCursor(randomNonPrime(min, max));
} else {
addAtCursor('+' + randomNonPrime(min, max));
}
}
function addAtCursor(toAdd) {
var problemInput = $('input#testProblem');
var oldText = problemInput.val();
var cursor = problemInput[0].selectionStart;
var pre = oldText.substring(0,cursor);
var post = oldText.substring(cursor, oldText.length);
//insert at cursor
problemInput.val(pre + toAdd + post);
//put cursor to end
problemInput[0].selectionStart = problemInput.val().length;
}
(它甚至在模糊时跳回到左侧,我无法用窗口剪切工具制作图片,因为我必须先点击它)
从设置鼠标焦点并将光标移动到使用jQuery的输入结束。
var problemInput = $('input#testProblem');
problemInput.focus();
var t=problemInput.val();
problemInput.val('');
problemInput.val(t);
以下是完整解决方案的开始:https://jsfiddle.net/michaelgentry/vwm159pt/
这仍然会导致滚动在模糊状态下跳回到左侧,但不会执行您所问的内容:
var elem = document.getElementById('myInput');
elem.focus();
elem.scrollLeft = elem.scrollWidth;
链接地址: http://www.djcxy.com/p/68457.html