【发布时间】:2016-01-31 14:35:58
【问题描述】:
我有一个输入字段,我在光标位置附加数据。
之后,我将 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;
}
(它甚至会在模糊时跳回左侧,我无法使用 windows 截图工具制作图片,因为我必须先点击它)
【问题讨论】:
标签: javascript jquery html css