请在Google Chrome浏览器上查看:
jQuery('#tien_cong').keyup(function(e) {
jQuery(this).val(jQuery(this).val().replace(".", ","));
var sum = 0;
var tien_cong = jQuery('#tien_cong').val();
tien_cong = tien_cong.replace(/,/g, '');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="textfield" id="tien_cong" type="text" data-required="" data-type="text" name="tien_cong" placeholder="" value="" size="">
当用户在文本框中输入.
的某些内容时,我尝试将,
替换为.
。
在Chrome浏览器上,当用户按下键盘上的左键光标←时,它无法移动。
为什么呢?
答案 0 :(得分:3)
现在每次按下键时输入都会更新。测试以查看角色是否为'。'在替换之前将阻止脚本在不需要时运行,并阻止光标重置。
jQuery('#tien_cong').keyup(function(e) {
if(e.which === 190) {
jQuery(this).val(jQuery(this).val().replace(/\./g,","));
}
var sum = 0;
var tien_cong = jQuery('#tien_cong').val();
tien_cong = tien_cong.replace(/,/g, '');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="textfield" id="tien_cong" type="text" data-required="" data-type="text" name="tien_cong" placeholder="" value="" size="">
答案 1 :(得分:0)
在Chrome 50上为我工作。但无论如何,我建议更改此内容:
jQuery(this).val(jQuery(this).val().replace(/\./g,","));
否则总是只有第一个'。'被取代。