2012-02-20 69 views
1

我已經做了一個jQuery函數,並希望在點擊事件中調用它。我的代碼如下:點擊jQuery調用用戶自定義函數

<script type="text/javascript"> 
    (function($){ 
     $.fn.my_function = function(options){ 
      return this.each(function(){ 
       alert("Hello"); 
      }); 
     }; 
    })(jQuery); 

    $(document).ready(function(){ 
     $('#submit_buttom').my_function(); 
    }); 
</script> 

請幫忙。

感謝

回答

3

試試這個:

(function($){ 
     $.fn.my_function = function(options){ 
      var callback = function(){ 
       alert("Hello"); 
       //codes goes here 
      }; 
      return this.each(function(){ 
       $(this).click(callback); 
      }); 
     }; 
    })(jQuery); 

    $(document).ready(function(){ 
     $('#submit_buttom').my_function(); 
    }); 
+0

嗨,謝謝你的答覆而且工作正常。 我還有一個問題:我應該如何調用委託內的函數?是否有像'$('body')。委託('#submit_button',my_function());' – 2012-02-20 11:47:56

+0

與jquery 1.7你可以使用on()作爲文檔在這裏http://api.jquery.com/on/ – jerjer 2012-02-22 09:15:44

3
<script type="text/javascript"> 
    (function($){ 
     $.fn.my_function = function(options){ 
      return this.each(function(){ 
       $(this).click(function(){ 
        alert("Hello"); 
       }); 
      }); 
     }; 
    })(jQuery); 

    $(document).ready(function(){ 
     $('#submit_buttom').my_function(); 
    }); 
</script> 
+0

嗨,謝謝你的答案,它的工作也很好。 我還有一個問題:我應該如何調用委託內的函數?有沒有像'$('body')。委託('#submit_button',my_function());' – 2012-02-20 11:51:33

+0

只需要聲明外部函數如:function Hello(){alert(「Hello」); }和使用函數名稱作爲代理例如:$(「#button」)。click(Hello);還是我誤解你的問題? – bang 2012-02-20 12:33:18

+0

是的,你沒有得到我的問題:)。 其實我的按鈕是動態的,所以添加任何事件或使用,如果我必須使用委託像'$('body')。委託('#submit_button','點擊',函數(){});'但是這裏我想在我點擊那個按鈕時調用my_function()。 _現在你知道我想說什麼嗎?_ – 2012-02-20 13:53:34

1

可以使用.click()事件處理程序:

$('#submit_buttom').click(function(){ 
    // Can be any function call, but must be within an asynchronous/anonymous function 
    my_function(); 
});