我正在开发一个jquery插件" myPlugin
"谁做了一些图形的东西。它运作良好,我很高兴。
(function ( $ ) {
$.fn.myPlugin = function(params) {
/* some code */
$(this).focus(function() {
/* draw things */
});
};
}( jQuery ));
我称之为:$("#foo").myPlugin();
一切都运转良好:每次元素获得焦点,插件被触发,绘制一些很酷的东西。该插件包含一个私有函数end
,我最终可以通过函数close
(function ( $ ) {
$.fn.myPlugin = function(params) {
/* some code */
$(this).focus(function() {
/* draw things */
});
function end(){
/* destroy the draw */
}
return{
close: function() { end(); }
}
};
}( jQuery ));
此功能允许我从外部关闭插件"。
var bar = $("#foo").myPlugin(); // create the graphic
bar.close(); // destroy the graphic for this element
一切都还行不错!但现在,我有一个问题:我想访问所有插件。让我们说我需要创建一个随机数:
var bar1 = $("#foo1").myPlugin();
var bar2 = $("#foo2").myPlugin();
var bar3 = $("#foo3").myPlugin();
我希望当一个元素获得焦点(并开始绘制)时,它会破坏所有其他现有元素:
何时:
$("#foo1").focus(); // make the draw
它也是如此:
bar2.close(); // destroy an eventual draw of #foo2
bar3.close(); // destroy an eventual draw of #foo3
在这里......我被封锁了。 如何访问我插件的所有内容?我想要保存所有var名称(bar1,bar2,bar3,...),以便访问它,但我可以'让他们通过插件。或者最终创建第二个中间插件,它将启动myPlugin
并存储名称,......我很困惑。有什么想法吗?
干杯< 3
答案 0 :(得分:0)
You can do something like this
(function ( $ ) {
$.fn.myPlugin = function(params) {
/* some code */
$(this).focus(function() {
//clear previous things
$('.myplugin').parent().remove()// or remove your markings
//append
$(this).append('<div class=".myplugin"></div>')
/* draw things */
});
function end(){
/* destroy the draw */
}
return{
close: function() { end(); }
}
};
}( jQuery ));
当你专注时,清除所有这些div父母或标记 将临时div添加到您的插件ID