1

我有一个功能可以将大写字母转换为小写字母,也可以替换小破折号的空格。

问题是,例如,当用户打错字并想要纠正它时,如果他尝试使用键盘将光标移回,他将无法这样做,因为光标将始终位于最后一个位置字符串。

在这里,我有 JS 小提琴与示例工作:http: //jsfiddle.net/R8N8F/7/

在示例中,我使用的是 jQuery,因为我无法使用 jsfiddle 的 Javascript 运行它,但这是我正在使用的当前函数:

function replaze(obj){
    obj.value = obj.value.toLowerCase().replace(/ /g, '-');
}

这是我的 HTML:

<input name="demo" autofocus="autofocus" onkeyup="replaze(this);" type="text" id="UserUsername">
4

2 回答 2

1

您可以使用以下答案保留选择:

https://stackoverflow.com/a/3288215/96100

您可以改用我的jQuery 插件,它使用相同的代码。例子:

var $input = $("#UserUsername");
$input.keyup(function() {
    var sel = $input.getSelection();
    replaze(this);
    $input.setSelection(sel.start, sel.end);
});
于 2013-01-08T17:01:54.940 回答
0

看看这个这个例子帮助你通过箭头键移动光标 https://jsfiddle.net/RaviMakwana/a5ts0emr/

<script async src="//jsfiddle.net/RaviMakwana/a5ts0emr/embed/"></script>

于 2019-09-02T06:09:43.467 回答