2011-01-13 9 views
1

人が自分のページに行った場合、jqueryを実行したい場合は、ページ上のボタンをクリックすると同じjqueryコードを実行します。このために別の関数を作成する必要がありますか?その人がページに来たときに読み込まれた後、誰かがボタンをクリックしたときにクリック機能が表示されますか?または、コードを複製する必要がないために、すべてが1つの機能に含まれますか?ページが読み込まれ、ボタンがクリックされたときにJqueryが実行される

答えて

4

あなたは両方のための機能を再利用することができます

$(function() { 

     // declare the function 
    function myReusableFunction() { 
      // do something extraordinary 
    } 

    // call it on page load 
    myReusableFunction(); 

    // assign to handler 
    $('button').click(myReusableFunction); 
}); 

thisの値とパラメータ(もしあれば)は異なるものになるということ。

問題がある場合は、clickトリガーを連鎖して直接呼び出すことができます。

$(function() { 

    // assign to handler AND call it 
    $('button').click(function() { 
      // do something extraordinary 
    }).click(); 
}); 

EDIT:それが割り当てられている1 button以上がある場合、.click()のためにそれらのすべてをトリガします。

これが要求されるものではない場合、あなたはそれを変更することができます:最初のものだけに、それをトリガーする...

$(function() { 

    // assign to handler AND call it 
    $('button').click(function() { 
      // do something extraordinary 
    }).eq(0).click(); 
}); 

またはこの:

$(function() { 

    // assign to handler AND call it 
    $('button').click(function() { 
      // do something extraordinary 
    }).triggerHandler('click'); 
}); 

...最初の要素だけに発射するだけでなく、カップルの他の違いがあります。詳細については、triggerHandlerのドキュメントを参照してください。

+0

なぜ最初の$? –

+0

@Simon:jQueryの '.ready()'メソッドのショートカットです。 '.ready()'に送られたハンドラにコードを置くことによって、コードが実行される前にDOMがロードされていることを確認します。 – user113716

+0

どのような偉大な答え:D +1 –

0

ここでは、イベントをバインドし、さらにそれを発生させる例を示します。

$(function() { 
    $('#yourButton').click(function(){ 
     alert('Yay'); 
    }).click(); 

}); 

編集:私の説明と恐ろしい文法をクリーンアップ...ここ

1
$(function() { 

    $("#myButton").click(function() { 
     //your code 
     alert("exeuted"); //on click button alerts 
    }).click(); //simulate click to execute onload 

}); 

オンラインデモ:http://jsfiddle.net/nMPMt/

関連する問題