2014-07-27 89 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 –