2

プラグインがあり、その中にパブリック関数 ($fn.myplugin.mypublicfunct) があります。私の意図は、myplugin の外部にある別の .ajaxSuccess から mypublicfunct を呼び出すことです。したがって、公共の機能が必要です。

シナリオ: myplugin はその機能を実行します...Ajax を介したフォーム送信は別のプラグインです...そのプラグインが .ajaxSuccess を実行するとき、mypublicfunct を呼び出したいのですが、myplugin からユーザー オプション/デフォルトを使用できるようにします。

それは理にかなっていますか?正しい質問を正しい方法で行っているか?

入れてみた

var opts = $.extend({}, $.fn.myplug.defaults, options);

public 関数内で、定義されていないオプション (または同様のもの) のエラーが発生しました。私は例や解決策などを探して嵐を巻き起こしている Google ですが、それでも気が狂いました。

4

1 に答える 1

1

私は jQuery プラグイン開発の比較的初心者であると言って、これを最初に限定します。さらに、これは私が自分で苦労したことなので、良い質問のために私から+1です.

私がする傾向があるのは、選択した要素のデータ プロパティにオプション オブジェクトを格納することです (プラグイン名で名前空間を空けます)。

var data = {
    options: options,
    otherData: otherData
};

$(this).data('myPlugin', data);   

オブジェクトは、次のようにパブリック関数でアクセスできます。

var options = $(this).data('myPlugin').options;    

それは少し不格好に感じますが、それは仕事をします.

于 2012-05-31T01:04:42.150 に答える