これを参照してください:http://jsfiddle.net/9xe9b/
$("#currency").change(function(){
var val = $(this).val();
$(this).val(formatCurrency(val));
});
$("#infinite").change(function(){
var val = $(this).val();
$(this).val(formatCurrency(val));
$(this).change(); // simulate the change event.
});
function formatCurrency(num) {
num = isNaN(num) || num === '' || num === null ? 0.00 : num;
return parseFloat(num).toFixed(2);
}
2 番目のテキスト ボックスに値を入力してコンソールを開くと、次のエラーが表示されます。
Uncaught RangeError: Maximum call stack size exceeded
これは、javascript の値を変更すると、関連するイベントが発生した場合に心配する必要があることです。無限ループ!
そのため、UI または JavaScript を介して値を変更するときに機能を繰り返す必要がある場合は、目的の機能を実行する関数を作成し、適切なインスタンスで呼び出す必要があります。