2012-02-13 3 views
0

私の特定の風景の説明がここではあまり役に立たないとは思わない。だから私は、すべてのイベントでどのように関数を呼び出すことができるかを知る必要があります。アイデアは、特定の要素にどのようなイベントが発生しても同じ関数を呼び出すことです。どのようにして、すべてのイベントに対して要素トリガー関数を作成することができますか?

<div onAnyEvent="function()"></div> 

むしろより:

私の頭ではこれを行うための理想的な方法は何か行くだろう

<div onClick="function()" onMouseover="function()" onKeypress="function()"></div> 
+0

あなたはJSでそれをやりたい、またはjqueryもやりますか? –

+0

私は純粋なJSでそれをしたいと思います。質問してくれてありがとう。 – person0

+0

同様の質問 http://stackoverflow.com/questions/5123356/jquery-action-fires-on-any-event 希望このヘルプ....まさにI –

答えて

0

を私は研究を通じて発見した最良の方法は、のイベントリスナーを作成することです次のような同じ要素の各イベント:

window.onload = addListeners; 

function addListeners(){ 
    if(window.addEventListener){ 
    document.getElementById('message').addEventListener('keydown',textarea_resize,false); 
    document.getElementById('message').addEventListener('keyup',textarea_resize,false); 
    document.getElementById('message').addEventListener('keypress',textarea_resize,false); 
} 

もう少し説明してください:

addEventListener('event to listen to', function_to_be_called, useCapture-value)

最初のパラメータは、あなたが(すなわち聴きたいイベントです。 'click'または'keydown')。 (すなわちvalidate_form。):

は、あなたが呼び出したい関数です。

- あなたはまた、関数にパラメータを送信することができます:validate_form(e, i)

最後の使用キャプチャ値は、ほとんどの用途では通常falseに設定され、値を指定しない場合はfalseが自動値になります。さらに詳しい説明が得られますhere

だから、完全な例は次のようになります。document.getElementById('message').addEventListener('keydown',textarea_resize,false);私は上記示したよう。

関連する問題