输入不像它应该滚动到最右边

我有一个输入字段,我在光标位置追加数据。

之后,我将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;
  }

(它甚至在模糊时跳回到左侧,我无法用窗口剪切工具制作图片,因为我必须先点击它)

np在这里

这里到达最后


从设置鼠标焦点并将光标移动到使用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

上一篇: Input not scrolling to the far right like it should

下一篇: keyup event not triggered for escape key