1

非常に単純なjQueryの質問に違いないと思います。

私が作業しているサイトでユーザーがアカウントを作成すると、ユーザーが作成したアカウント名がサイト アドレスの先頭に追加され、それが将来アカウントにアクセスするために使用するアドレスになります。

例: http://useraccount.thewebsite.com

ユーザーがサインアップ フォームの [アカウント名の作成] フィールドにアカウント名を入力すると、これが何であるかを説明し、アドレスがどのように表示されるかを示すツールチップを作成したいと考えています。

これまでの私のコードは次のとおりです。

$('input.account-name').keypress(function(){
  $("span.account-name-illustration").replaceWith($(this).val());
});

「input.account-name」は入力フィールドです。

「span.account-name-illustration」は次のとおりです。

<p>Your account address will be https://<span class="account-name-illustration">something</span>.thewebsite.com.</p>

これは最初のキー押下では機能しますが、その後は機能しません。

だから私はもう少し振り回した後、私はこれを見つけました:

http://docs.jquery.com/Events/keypress

これはある程度機能します。ただし、キーを押すたびに追加し続けたり、削除後に実際に入力されたものを無視したり、既存の文字の間にカーソルを置いたりすることなどを除いて.

だから今、私は本当に各キープレスを記録したいのでしょうか...それとも、キーアップごとに入力の値を取得する方法はありますか?

大変助かります。

4

1 に答える 1

2

spanをテキストのみに置き換えているため、span.account-name-illustrationセレクターは後続の呼び出しで何も検出しません。

の代わりに をspan使用して を保持することで、これを修正できます。textreplaceWith

$("span.account-name-illustration").text($(this).val());
于 2013-03-17T17:01:35.837 に答える