ユーザーがメール フィールドにカンマを追加し続けるという問題がありました。とりあえずこれを修正するために、コンマ入力をピリオドに変換しようとしていました。
誰かが「コンマは電子メール アドレスに有効です」と言う前に、これが優れた解決策ではないことを十分に認識しています...前もってお詫び申し上げますが、私は単一の電子メール アドレス フィールドに制限されており、追加することはできません。検証目的で 1 秒...
これで、iPad を除いて正常に動作します。「keyup」イベントは、入力のキャレット位置を先頭に移動するようです。「keydown」に変更すると、意図したとおりに機能しますが、最後のキープレスは変換されません
次のようにコードします。
<label>email: </label>
<input id="tb_Email" length="30"></input>
およびJS:
$(document).ready(function (event) {
$(document).delegate("#tb_Email", "keyup", function (event) {
if (event.which === 188) {
var cleanedValue = $(this).val().replace(",", ".");
$(this).val(cleanedValue);
}
});
});
JSFiddle はこちら: http://jsfiddle.net/JXVcm/1/
このコードを変更して意図したとおりに動作させるための提案はありますか?