【发布时间】:2014-12-06 04:33:48
【问题描述】:
问题: 我有一个带有一些文本的 html 文本输入框,当用户单击输入框时,我希望插入符号/光标出现在输入框的开头。
我可以使用 setSelectionRange() 函数移动插入符号,但我不喜欢这种效果 然后将显示在文本输入框末尾的插入符号移到开头。我希望它出现在输入的开头。
示例:http://jsfiddle.net/edh8mkht/1/
HTML
<body>
<input type="text" id="myP" onmousedown="mouseDown()" value="Mozilla" />
</body>
JS
function mouseDown() {
document.getElementById("myP").style.color = "green";
document.getElementById("myP").setSelectionRange(0,0);
}
问题 1:
我使用 mousedown 事件来移动插入符号,但它根本不移动插入符号,如果我使用 onfocus 事件也会发生同样的事情。那是因为插入符号出现在这两个事件之后并且使 setSelectionRange 无效吗?
问题 2:
使用 javascript 解决我的问题的好方法是什么?注意:我不能使用占位符。
【问题讨论】:
标签: javascript html css