我已经通过各种主题发布在stackoverflow和其他论坛,这解释了如何编写和扩展一个jQuery插件。创建并扩展一个jQuery插件
我写了下面的示例代码来测试我的理解
(function($) {
$.fn.myPlugin = function() {
this.firstAPI(param)
{
alert(param);
};
return this;
};
})(jQuery);
现在我扩展插件。
function($) {
var extensionMethods = {
secondAPI: function(param){
alert(param);
}
};
$.extend(true, $[fn][myPlugin].prototype, extensionMethods);
})(jQuery);
现在,我访问插件$().myPlugin().firstAPI("Hello")
,这是成功地调用API,并显示警告信息。但我无法通过$().myPlugin().secondAPI("Hello")
访问secondAPI
。 $().myPlugin()
对象没有secondAPI
。
另外,我观察到的一件事,myPlugin
对象每次在$().myPlugin()
对象上调用API时都会被初始化。我也尝试通过DOM元素$('#divid')
,然后调用。它在这种情况下也失败了。
您可以告诉我们您到目前为止看过哪些教程来生成此代码。这将有助于查看您正在使用哪种插件架构。有几个不同的,我个人更喜欢在官方插件教程中讨论并由jQuery UI团队使用的。 – Simon 2012-03-16 06:15:55
http://forum.jquery。com/topic/how-to-extend-plugins-ui-plugins – Sanmoy 2012-03-16 08:55:23
http://stackoverflow.com/questions/2050985/best-way-to-extend-a-jquery-plugin – Sanmoy 2012-03-16 08:55:49