0

jQueryのプラグインを作ってみました。

これは、ナビゲーション ボタンと nav 要素を備えたスライダーで、アクティブなスライドを一覧表示します。

複数のインスタンスでプラグインを使用してみるまで、すべてうまく機能していると思いました。最後のインスタンスのみが機能しているように見えますが、最初のインスタンスで使用されたメソッドも 2 番目のインスタンスのメソッドをトリガーしています。

ここで見つかった例をベースとして使用し、そこから続けました: jquery plugin call public function inside other public function

設定を渡すと何か問題が発生したようです。私は多くのことを試しましたが、それを機能させるために何をすべきかの概要を失いました。

これが明確であることを願っています。私には少し謎なので、この問題を説明するのに苦労しています。より明確にするためにフィドルを作成する必要があると考えました:http://jsfiddle.net/NzhnN/

設定は に保存され method: { "settings": {},}、 を呼び出して受信しmethod.settingsます。ここで、何かがおかしいと思います。

ご覧のとおり、プラグインの最初のインスタンスは、次のボタンと前のボタンがクリックされたときに何もしません。

特定のインスタンスの設定を保存/編集し、そのインスタンスでのみこれらを使用する方法を教えてください。これらはパブリック関数でも使用できます。

4

1 に答える 1

0

たまたまAnwserを見つけた..

メソッドが別のメソッドを呼び出すと、thisスコープ外になります。これを修正する方法は、次のようなメソッドを呼び出す代わりにmethods.doSometing()、次のようにすることですmethods.doSomething.apply(this,[options]);。この方法thisがスコープに追加されます。

于 2013-05-29T15:37:46.833 に答える