如何动态引用 jQuery 插件实例?
How to reference jQuery plugin instance dynamically?
在我的 jQuery 插件执行流程中,我呈现了这个 link 的边栏列表。
//render method
var render = function(self){
var sidebar = '';
var main = '';
/* Sidebar */
sidebar += '<ul>'
sidebar += '<li><a href="javascript:self.data(activeFolder,1);self.data(render);">Rootobject 1</a></li>';
}
只是我不希望 link 打印出 self
,但我想要一个对 self 引用的对象的引用。
------------更新------------
我会尝试用不同的方式解释我的问题。
如果我一直在页面正文中使用这个插件,我可以很容易地在初始化时存储对它的引用
var myPlugin = $('.some-element').myPlugin();
以后再这样做:
<a href="javascript:myPlugin.render();">Rootobject 1</a>
现在,我希望我的插件准备好相同的 link,那么我如何从插件中编写一个引用来替换上面这个例子中的 myPlugin 变量?
无论如何,您都可以按照消除干扰的最佳做法轻松地做到这一点 javascript。
您可以设置委托处理程序,这样事件处理就不会绑定到特定元素。只需在 body
元素上设置一个处理程序,它永远不会被添加或删除。点击事件最终会冒泡到正文,然后传入一个选择器,这样您只需关注符合条件的点击,如下所示:
$("body").on('click', ".sidebar a", function() {
$(this).data(activeFolder, 1)
.data(render);
});
在我的 jQuery 插件执行流程中,我呈现了这个 link 的边栏列表。
//render method
var render = function(self){
var sidebar = '';
var main = '';
/* Sidebar */
sidebar += '<ul>'
sidebar += '<li><a href="javascript:self.data(activeFolder,1);self.data(render);">Rootobject 1</a></li>';
}
只是我不希望 link 打印出 self
,但我想要一个对 self 引用的对象的引用。
------------更新------------
我会尝试用不同的方式解释我的问题。
如果我一直在页面正文中使用这个插件,我可以很容易地在初始化时存储对它的引用
var myPlugin = $('.some-element').myPlugin();
以后再这样做:
<a href="javascript:myPlugin.render();">Rootobject 1</a>
现在,我希望我的插件准备好相同的 link,那么我如何从插件中编写一个引用来替换上面这个例子中的 myPlugin 变量?
无论如何,您都可以按照消除干扰的最佳做法轻松地做到这一点 javascript。
您可以设置委托处理程序,这样事件处理就不会绑定到特定元素。只需在 body
元素上设置一个处理程序,它永远不会被添加或删除。点击事件最终会冒泡到正文,然后传入一个选择器,这样您只需关注符合条件的点击,如下所示:
$("body").on('click', ".sidebar a", function() {
$(this).data(activeFolder, 1)
.data(render);
});