たとえば、プラグインが適用された<select>
からオプションが選択されたときに実行されるコールバック関数が必要なjQueryプラグインを作成しています。
私はこのように、あなたはそれを渡すオプションで関数を定義することを可能にするプラグインを見てきました:
$('div.foo').pluginBar({
option1: 'red',
someEvent: function() {
// Do stuff
}
});
私はプラグインのコードでデフォルトsomeEvent
関数を定義することができるようにしたいが、もしユーザーが渡すオプションにその関数を定義すると、デフォルト関数を上書きする必要があります。これは$.extend()
で可能ですか、間違った場所を見ていますか?
私はplugin authoringチュートリアルを見てきましたが、機能のデフォルト動作をどこでも拡張するとは限りません。私はinit:
関数の使い方を読んだことがありますが、関数(の中にプラグインの名前空間)を定義し、プラグインに渡されるオプションで変更することができます。
@ T.J.Crowder申し訳ありません、もっと個人的な欲求不満コメントでした。削除されます。 – Zirak
JavaScript(他のほとんどの主要な現在の言語とは異なり)は、ファーストクラスのオブジェクトです。つまり、これを含め、他の種類のオブジェクト参照で実行できる関数参照でも同じことができます。答えは、どのように実証するのかを示しますが、取り除く重要なポイントは、関数参照はオブジェクト参照と同様の値であることです(オブジェクト参照であるため)。それは非常に便利です。 :-) –
@ T.J.Crowder説明をありがとう。 – Bojangles