使用javascript键入时如何避免光标向后移动
在文本框中输入值时,当我在输入值之间输入值时,光标会自动移动到值的末尾使用javascript键入时如何避免光标向后移动,javascript,Javascript,在文本框中输入值时,当我在输入值之间输入值时,光标会自动移动到值的末尾 <!DOCTYPE html> <html> <body> <script> function truncate(x) { if(x.value.length > 0) { x.value = x.value.replac
<!DOCTYPE html>
<html>
<body>
<script>
function truncate(x) {
if(x.value.length > 0)
{
x.value = x.value.replace(/^\s+/, '');
}
}
</script>
<input id="otherText" onkeyup="javascript:truncate(this);" maxlength="12" type="text"/>
</body>
</html>
函数截断(x){
如果(x.value.length>0)
{
x、 value=x.value.replace(/^\s+/,“”);
}
}
函数截断(x){
var val=document.getElementById(“其他文本”);
var INPUTEXTVALUE=val.value;
如果(InputExtValue.length>0)
{
val.value='';
}
}
请注意,我不知道如何用特定的正则表达式替换字符串。但是上面的代码只是替换为一个空字符串。您可以根据需要进行修改。试试这个
解决方案已经在那里了
此问题重复了否,它将所有值替换为空,因此我们无法使用此问题的可能重复项;我想还有更多类似的,但我找不到
<!DOCTYPE html>
<html>
<body>
<script>
function truncate(x){
var val = document.getElementById("otherText");
var inputTextValue = val.value;
if(inputTextValue.length>0)
{
val.value = '';
}
}
</script>
<input id="otherText" onkeyup="javascript:truncate(this);" maxlength="12" type="text"/> </body>
</html>
$(function() {
function setCaretPosition(elemId, caretPos) {
var elem = elemId
if(elem != null) {
if(elem.createTextRange) {
var range = elem.createTextRange();
range.move('character', caretPos);
range.select();
}
else {
if(elem.selectionStart) {
elem.focus();
elem.setSelectionRange(caretPos, caretPos);
}
else
elem.focus();
}
}
}
$("#otherText").on("keyup", function(event){
var x = this,sel=x.selectionStart;
if(x.value.length > 0)
{
x.value = x.value.replace(/^\s+/g, '');
}
setCaretPosition(x,sel);
})
})