2011-01-13 104 views
1

如果一個人去我的頁面我想要一些jquery運行,那麼如果他們點擊頁面上的按鈕,我想要相同的jQuery代碼運行。我必須爲此創建單獨的函數嗎?當人進入頁面時加載,然後當有人點擊按鈕時點擊功能?或者爲了不必複製代碼,它可以全部在一個函數中?當頁面加載和點擊按鈕時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(); 
}); 

編輯:如果有一個以上的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

爲什麼第$? – 2011-01-13 22:22:33

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/

相關問題