我一直在编写jQuery插件工作数小时,阅读文档,搜索帖子等。有一件事尚不清楚。 我正在写有多个实例的一个插件,所以我有这样的事情编写一个jQuery插件:公共方法和多个插件实例
<div id="box1" class="box"></div>
<div id="box2" class="box"></div>
<script type="text/javascript">
$(".box").myPlugin();
</script>
所以该插件将作用于两个DOM元素。 这是一个插件演示。假设我需要一个或多个私有变量(演示中的myValue),当然任何实例(box1,box2)都有不同的值。
(function ($) {
$.fn.myPlugin = function() {
this.each(function() {
/* this is a private variable */
var myValue = Math.floor(Math.random() * 10000);
});
return this;
};
/* this is a public method */
$.fn.myPlugin.showValue = function() {
alert('My value is ' + myValue);
};
}(jQuery));
现在我需要这个插件来公开一个读取/写入这种私有变量的公共方法。上面的代码当然会失败,“myValue is undefined”错误。
我需要以某种方式获得对任何实例的引用,然后调用“他们的”公共方法。类似于
$('#box2')。showValue()/ * ??? */
任何帮助将不胜感激。谢谢。
看看:http://learn.jquery.com/plugins/basic-plugin-creation/ –