首页 > 解决方案 > 单击输入时滚动到文本末尾

问题描述

我正在创建输入元素。我想首先点击输入,文本被选中,然后第二次点击插入符号移动到最后一个位置(插入符号总是在最后一个位置)。我做到了(见我的代码)。

但是当输入的宽度小于 value.length 时,在第二次单击时我在 IE 11 上看不到插入符号。

如何在第二次单击时将值滚动到最后一个位置?

我的演示,在 IE 上打开它:https ://www.w3schools.com/code/tryit.asp?filename=G3SVZ4LTU7G5

function selectAllText() {
    	var input = document.getElementById("demo");
    	input.setSelectionRange(0, input.value.length);
    }
    
    function moveEndCaret(event) {
    	event.preventDefault();
    	var input = document.getElementById("demo");
    	input.setSelectionRange(input.value.length, input.value.length);
        input.focus();
    }
input {
    	padding: 0 10px 0 10px;
        height: 30px;
        width: 30px;
    }
<!DOCTYPE html>
<html>
<body>

  <input id="demo" name="gender" value="123456789" type="tel" onfocus="selectAllText()"      onmousedown="moveEndCaret(event)">
</body>
</html>

标签: javascriptinternet-explorer-11

解决方案


推荐阅读