繁体   English   中英

Keyup事件会阻止Chrome中文本字段中的箭头键

[英]Keyup event prevents arrow keys in text field in Chrome

请在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浏览器上,当用户按下键盘上的左键光标←时 ,它无法移动。

在此输入图像描述

为什么?

现在,每次按下键时输入都会更新。 测试以查看角色是否为'。' 在替换之前将阻止脚本在不需要时运行,并阻止光标重置。

 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=""> 

在Chrome 50上适用于我。但无论如何,我建议更改此设置:

jQuery(this).val(jQuery(this).val().replace(/\./g,","));

否则总是只有第一个'。' 被取代。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM