将输入值格式化为用户类型

Formatting input value as user types

我在用户键入时难以将输入字段值更新为货币。当我使用输入事件更改时,我能够成功地将值更新为货币。但是当我使用 keyup event 时,输入值和交互行为不是很友好。

我尝试使用 setTimeout,但无法实现 value/currency 格式化,因为用户键入正确。

如有任何意见或建议,我们将不胜感激。

示例:

myInputElement.addEventListener('keyup', function (e) {
 e.currentTarget.value = numeral(e.currentTarget.value).format('[=10=],0.00');
});

试试 "input" 事件监听器。每次输入新字符时都会触发。

var myInputElement = document.getElementById("element");

myInputElement.addEventListener("input", function (e) {
  e.currentTarget.value = numeral(e.currentTarget.value).format('[=10=],0.00');
});

小数点可选。

numeral(e.currentTarget.value).format('[=10=],0.[00]');