jQuery插件结构:在插件定义中访问JavaScript类
jQuery Plugin structure: Accessing JavaScript class inside plugin definition?
我有一个关于jQuery插件结构的问题。
为了更好地理解,这里有一个简化的插件结构示例:
// Regular constructor function
function MyPlugin() {
this.myValue = "My Value";
}
// Methods on the prototype
MyPlugin.prototype.showValue = function() {
alert($.myplug.getValue());
}
MyPlugin.prototype.getValue = function() {
return this.myValue;
}
// jQuery plugin
$.fn.myplug = function() {
// Why is is possible to access $.myplug here although it's not created yet?
return this.each(function() {
$(this).html($.myplug.getValue());
});
};
// Create new MyPlug instance
$.myplug = new MyPlugin();
// Calling the jQuery plugin on a DOM element
$('div').myplug();
在大多数情况下,我明白发生了什么。实际的插件逻辑似乎写成了一个普通的JavaScript"类"。接下来是一个jQuery插件定义——我认为,实际上,一些新的方法被添加到jQuery的原型中。这就是让我感到棘手的地方:
如何是可能的访问类实例内的插件,虽然类是实例化后的插件定义?是否有类似于可变吊装的工作机制?
如果你想尝试一些东西,这里是一个例子:http://jsfiddle.net/kq8ykkga/
$(this).html($.myplug.getValue());
不求值,直到调用$('selector').myplug()
,执行函数体。
相关文章:
- 使用方括号访问插件原型函数
- 有没有一种方法可以从光滑的网格访问插件
- 访问插件JS中的Wordpress PHP变量
- jQuery 表单插件:XMLHttpRequest 无法加载 http://www...没有“访问控制允许来源”
- jQuery插件+AMD=如何访问函数
- 从firefox插件访问文件系统/目录路径
- 我该如何访问由gullow灰质插件创建的数据对象(当使用nunjucks编译html文件时)
- 从jQuery select访问插件方法
- 访问下载的html文件中的cordova插件
- 如何通过Javascript或插件访问动态CRM 2011中的服务器日期
- 从 js 访问插件控制器
- 编校器:访问插件中的回调
- 从TinyMCE插件访问数据
- 通过插件访问从phonegap Cordova的外部URL加载Webste
- 从插件访问jQuery对象's次要功能
- 如何从android中的cordova插件访问CordovaActivity appView
- 如何从firefox插件访问笔记本摄像头?
- Jquery插件访问var从方法使用原型
- CKEditor创建插件访问PHP变量和MySQL
- Firefox插件访问配置