函数参数被覆盖的问题

我有个插件,MyPlugin,对外暴露了一个init的接口实例化它    现在在页面加载的时候,页面上有两个元素都要实例化这个插件,所以调用了两次   但是发现init的参数每次被覆盖成了‘para2’

$(function(){
  $.fn.MyPlugin('init','para1');
  $.fn.MyPlugin('init','para2');
});

这个问题怎么解决呢?

慕尼黑的夜晚无繁华
浏览 448回答 9
9回答

鸿蒙传说

你的插件代码写得有问题。不要用闭包把对象关起来。。。

慕村9548890

第一次实例化的时候用一个对象保存你这个插件,第2次在用一个对象保存,不然你这当然会被覆盖,就相当与一个对象你修改了他

HUWWW

不是太理解呢   我实例化插件   怎么用对象保存呢?

互换的青春

@握爪: 发现同样的意思,大神说的就是专业多了

一只名叫tom的猫

@稳稳的河: 插件是自己写的

Qyouu

闭包慎用

哆啦的时光机

这个需要你把插件代码发出来看看才能解决了

ABOUTYOU

页面上有两个元素都要实例化这个插件 -----------------------------  这么看来,你想在同一页面上拥有多个实例,且实例与使用该实例的元素有一定关系,那么你应该使用$.fn.extend进行扩展,而不是直接把方法挂在$.fn下。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript