2014-07-27 84 views
1

我認爲這一定很容易,但我無法使其工作。我有一個這樣從我的插件jquery插件和一個點擊按鈕

(function($) { 
$.fn.Update = function() { 
    console.log("Clicked"); 
}; 
})(jQuery); 

這個頁面上,我想用:

<script src="~/Scripts/my.Plugin.js"> 

</script> 

$(function() { 
    $(".btnUpdate").click(function() { 
     //TODO: Add the function from the plugin 
     Update(); 
    });   
}); 

但我正在逐漸 的ReferenceError:更新沒有定義 並注意到,當頁面負載,我不去功能,我只接觸$ .fn.update並直接移動到最後。

任何幫助,歡迎

+1

嘗試調用你的函數是這樣的:'$()更新();'。 – Ben

+0

感謝Ben做了個竅門 –

回答

3

使用$.fn.Update = function() {...}你添加一個新的方法的jQuery選定的元素。

您可以通過調用該函數:

$.fn.Update(); 

$("...").Update(); 

使用$(foo).Update()$(foo)thisUpdate函數內。


你得到Update is not defined錯誤,因爲你沒有任何Update功能(全局聲明),但$.fn.Update

+0

作爲一個答案被接受,因爲我認爲添加一個事件/操作一個DOM是正確的,它不適用於我的情況。對於任何希望在點擊按鈕的情況下使用插件的人來說,$()。Update是爲我做的。 –

+0

@JackM如果你的插件不與DOM交互,你可以簡單地將它附加到'$':'$ .Update = function(){...}'。然後你會直接調用它:'。.Update()'。 –

0

你正在從你自己的插件調用一個方法。

您可以bind它在這裏閱讀更多像$("#some_element").Update();

元素:http://learn.jquery.com/plugins/basic-plugin-creation/

+0

'$ .Update();'不起作用。 – Ben

+0

對不起,我的壞。我忘了它使用'$ .fn' @Ben –