我正在尝试替换特殊字符,即<,>,&来自模糊和按键的输入字段。并且代码工作正常,但问题是,一旦用户输入所需的字符串然后尝试编辑该字符串,它将光标移动到字符串的末尾,因此用户无法编辑其间的字符串。如何使此脚本更加用户友好,以便用户可以从任何地方编辑现有字符串。
HTML
<input type="text" class="prevent-special" name="name" value="HelloWorld" >
脚本
$('.prevent-special').on('keypress blur',function(e){
//console.log(e.keyCode);
$(this).val($(this).val().replace(/\<|\>|\&+/g,''));
})
答案 0 :(得分:2)
试试这个:
$('.prevent-special').on('keyup blur',function(e){
var start = this.selectionStart,
end = this.selectionEnd
$(this).val($(this).val().replace(/\<|\>|\&+/g,''))
this.setSelectionRange(start, end)
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" class="prevent-special" name="name" value="HelloWorld" >
&#13;