2010-12-19 21 views
0

これは簡単かもしれませんが、私はそれを動作させることはできません。 私はfilterクラスの3つのテキスト入力を持っています。私が欲しいのは、関数をバインドすることです。search()onkeypressイベントです。私はこれをonclick="search()"のようなすべての入力に手作業で書くことができると知っていますが、私はインラインのものを使用したくないのです。 私の現在のコードは次のとおりです。与えられたクラスの要素にイベントリスナーを添付する

<input type="text" class="filter" id="id"/> 
<input type="text" class="filter" id="title"/> 
<input type="text" class="filter" id="quant"/> 

Event.observe('.filter', 'keypress', function(){ // <<< this don't work :(
    alert('yey!'); 
}); 
+1

あなたは* * 'prototypejs'方法をしたくないと言っていますか?これは何も意味しないのでしょうか?言い換えれば、完全な非ライブラリソリューションが必要なのですか? – user113716

+0

申し訳ありません。打ち間違え。私はインライン 'onclick =" search() "'を使いたくありません。 10倍。 – s3v3n

+0

私は自分の答えを再投稿しました。私は、名前付き関数を使用する更新を提供します。 – user113716

答えて

4

私はprototypejsとあまり慣れていないんだけど、私はあなたがこれを行うことができると信じて:

例:http://jsfiddle.net/patrick_dw/yAj3A/

$$('.filter').invoke('observe','keypress', function(){ 
    alert('yey!'); 
}); 

EDIT:名前付き関数を使用する場合は、これもできます。

例:http://jsfiddle.net/patrick_dw/yAj3A/1/

function search(){ 
    alert('yey!'); 
} 

$$('.filter').invoke('observe','keypress', search); 
+0

それはトリックでした!ありがとう! – s3v3n

+0

@ s3v3n:どうぞよろしくお願いいたします。 – user113716

関連する問題