Javascript 如何允许用户创建jQuery插件的两个实例
我创建了以下插件。当我尝试初始化它两次时,它不起作用。在演示中,如果打开浏览器控制台,Javascript 如何允许用户创建jQuery插件的两个实例,javascript,jquery,html,jquery-plugins,Javascript,Jquery,Html,Jquery Plugins,我创建了以下插件。当我尝试初始化它两次时,它不起作用。在演示中,如果打开浏览器控制台,open链接没有响应。相反,菜单链接将调用secondFunc函数两次。我不明白我在哪里犯了错误 HTML <div class="home"> <div class="open-door-c"> <a href="#" class="open-door">open</a> </div>
open
链接没有响应。相反,菜单链接将调用secondFunc
函数两次。我不明白我在哪里犯了错误
HTML
<div class="home">
<div class="open-door-c">
<a href="#" class="open-door">open</a>
</div>
<div class="container">
<div class="info" >
<div class="nav">
<ul class="menu">
<li><a href="#" class="link">1</a></li>
<li><a href="#" class="link">2</a></li>
<li><a href="#" class="link">3</a></li>
<li><a href="#" class="link">4</a></li>
<li><a href="#" class="link">5</a></li>
</ul>
</div>
<div class="more-details-container">
<div>
<h1>title</h1>
</div>
<div class="sec">
1
</div>
<div class="sec">
2
</div>
<div class="sec">
3
</div>
<div class="sec">
4
</div>
<div class="sec">
5
</div>
</div>
</div>
</div>
</div>
有两种可能的错误:
将只返回一个包含$.fn.myPlugin.options和options属性的新对象,但不会更新您在下面使用的$.fn.myPlugin.options对象: $.fn.myPlugin.options.linkClass.on('click',this.secondFunc)$.extend({},$.fn.myPlugin.options,options)
$.fn.myPlugin.options = $.extend({}, $.fn.myPlugin.options, options); // read more on [jQuery extend](// http://api.jquery.com/jquery.extend/)
- 我认为没有必要使用下面的每个迭代:
$.fn.myPlugin=函数(选项){
返回此。每个函数(选项){
var rezG=Object.create(MyPlugin);
rezG.init(选项,本);
});
};
使用element.myPlugin(…)实例化新插件时,将正确调用init()
,它将使用指定的参数options
创建一个新的插件引用
看看这个更新,看看你是否在寻找
$.fn.myPlugin.options = $.extend({}, $.fn.myPlugin.options, options); // read more on [jQuery extend](// http://api.jquery.com/jquery.extend/)