1

テキストボックスがあり、ユーザーがその中に入力すると、jQueryによって1秒後に各文字がパスワード記号に変換されるとします。

パスワードのテキストボックスに入力するときに最新のスマートフォンで見られるのと同じ効果。

誰か提案はありますか?キーの押下をキャプチャして、ユーザーが入力した文字を取得する方法を知っています。

<input type="text" id="username" name="username" />
<script type="text/javascript">
$("#username").keypress(function(event){   

// Get the keypress value
// ...?

var c = String.fromCharCode(e.which);

}

});
</script>
4

3 に答える 3

2

それから始めることができます: http://jsfiddle.net/89CF8/7/
ただし、正しく入力した場合にのみ機能します。標準入力ではアスタリスクの値のみを変更でき、ユーザーが入力したすべての値が失われる
ため、値を別の変数に保存する必要があります (例では配列を使用しています)。letters

問題#1。非シンボルのチェックを追加する必要があります。たとえば、Del キーはletters配列に不良シンボルを追加します。

問題#2。バックスペースのチェックを追加しsplice、要素を削除するために使用する必要があります。

問題#3。ユーザーがテキストの途中から記号を削除すると、新しい値を初期値を格納する変数と同期するのが非常に難しくなります。

結局のところ、それは良い考えではないと思いますが、私のコードがより良い解決策を見つけるのに役立つかもしれません.

于 2012-06-07T15:27:11.323 に答える
1

実際にキープレスを処理する必要はありません。1 秒のタイムアウト ループを使用し、テキスト ボックス内のすべての文字を星に置き換えます。また、変数に文字を格納することを忘れないでください。

以下のようなものが役に立ちますが、バグを修正するために時間を費やす必要があります。 http://jsfiddle.net/ymutlu/8BXDu/2/

于 2012-06-07T13:55:20.810 に答える