0

我尝试为 jQuery 创建一个插件。

它是一个带有导航按钮和导航元素的滑块,列出了活动的幻灯片。

我以为我一切都很好并且一直在工作,直到我尝试在多个实例上使用该插件。只有最后一个实例似乎在工作,但第一个实例上使用的方法也触发了第二个实例的方法。

我使用在stackoverflow上找到的示例作为基础并从那里继续:jquery plugin call public function inside other public function

现在,通过设置似乎出了点问题,我尝试了很多事情,现在失去了我应该做些什么来使它工作的概述。

我希望这很清楚,我很难解释这个问题,因为这对我来说有点神秘。我想我应该创建一个小提琴以使其更清晰:http: //jsfiddle.net/NzhnN/

设置存储在 method: { "settings": {},},然后通过调用接收method.settings。这就是我认为出了问题的地方。

如您所见,当单击下一个和上一个 btn 时,插件的第一个实例什么也不做。

如何为特定实例保存/编辑设置并仅在该实例上使用这些设置。虽然这些也可以被公共功能使用。

4

1 回答 1

0

I found the anwser by chance..

When a method calls a different method the this falls out of scope. The way to fix this is to instead of calling a methods like methods.doSometing() use the following: methods.doSomething.apply(this,[options]);. This way this is added to the scope.

于 2013-05-29T15:37:46.833 回答