从 2003 年开始,我正在努力让一段旧代码正常工作。我正在尝试复制一个 ATM 风格的十进制文本框。该代码声称已为某人工作,但我在实现它时遇到了麻烦。
也许有人有更好的方法来实现这一目标?也许在 jQuery 中?
这就是我将如何解决它:http: //jsfiddle.net/77bMx/86/
基本思想是截取任何输入到框,确保其类型正确(数字或退格),然后将其添加到支持存储字符串 ( var input
),然后格式化该字符串以正确显示。用户从不直接在文本框中输入任何内容,因为我return false
在事件处理程序的末尾使用。
好吧,处理输入的代码可以很容易地写成这样:
$("#number").keyup(function(e){
var number = $("#number").val();
var newValue = (Math.round(parseFloat(number)*100)/100)/100;
});
在不发生冲突的情况下将其放回文本框可能是一个挑战,但是您可以通过执行以下操作来“伪造”它:
免责声明:又快又脏