2012-11-19 7 views
6

注意してください:私はこのためにjQueryを使用したくない(そうでない場合、私はそれが好き)HTML:実際の "onchange"イベントをHTML(jqueryなし)にするには?

問題:ユーザーが入力フィールドを変更した後、私はいくつかのJavaScript関数を実行する必要がある状況になってきた(たとえば、入力タイプ= "テキスト")。だから私は自分自身に言った - 私はonchangeイベントを覚えている - BUTonchangeイベントはユーザーがフィールドを離れると実行されますが、たとえば、ユーザーがそのフィールドに文字を入力するたびに呼び出される関数が必要です。私はREAL onchangeイベント(not the classic HTML one)を検出する簡単な方法を探していますと通過:Wowheadは(「...結果内を検索」のプレースホルダを持つフィールド)

概要私はthisを達成しようとしています何の素敵な一例を示していますjQueryを使用しないでJS関数を呼び出しますか?

ありがとうございます! :)

+1

あなたはonkeyupイベントを聞く必要があります。 – Toni

+1

キーボードイベントの受信に注意してください。ユーザーは、ポインティングデバイスを使用してフィールドから切り取ってフィールドに貼り付けることができます。 – Alohci

+0

@Alohciうーん、本当に良い点だよ!しかし、幸運にも、ユーザーは私のアプリでそれをコピーする方法はほとんどありません:)そして全体のマウスリスニングは、それ自身の問題全体です:) –

答えて

4

後もありますが、フィールド上のキーを押すの各タイプを呼び出す簡単な方法です。

入力タイプ= "テキスト" onkeypressでは= "MyFunctionを()

ここ

http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onkeypress

例を取得します。..

あなたもonkeyupの使用し、onKeyDown代わりれるonkeypressのできるお楽しみください。

10

オンチェンジの代わりにonkeyupを使用します。

+0

YEAH!それはまさに私が探していたものでした!どうもありがとう! BTW:私はこのイベントを知っていましたが、実際にはテキストフィールドでそのように動作するとは思っていませんでした:-Oおかげでもう一度:) –

1

試したonkeypress = "myFunction()"またはonkeyup = "myFunction()"?

テキストフィールドを入力して残すためONFOCUSとのonblurイベントのために:)

0

ユーザーがマウスで値を変更した場合、keyupとkeypressは機能しません。