[解決済み] jQueryプラグイン。コールバック機能の追加
2023-04-21 21:15:14
質問
プラグインにコールバック機能を持たせようとしていますが、ある程度伝統的な方法で動作するようにしたいと思います。
myPlugin({options}, function() {
/* code to execute */
});
または
myPlugin({options}, anotherFunction());
コードの中でそのパラメータをどのように扱えばいいのでしょうか?それは1つの完全な実体として扱われるのでしょうか?実行コードをどこに配置するかはよく分かっていますが、コードを実行させるにはどうしたらよいのでしょうか。このトピックに関する多くの文献を見つけることができないようです。
どのように解決するのですか?
プラグイン内でコールバックを実行するだけです。
$.fn.myPlugin = function(options, callback) {
if (typeof callback == 'function') { // make sure the callback is a function
callback.call(this); // brings the scope to the callback
}
};
オプションオブジェクトにコールバックを持たせることもできます。
$.fn.myPlugin = function() {
// extend the options from pre-defined values:
var options = $.extend({
callback: function() {}
}, arguments[0] || {});
// call the callback and apply the scope:
options.callback.call(this);
};
このように使います。
$('.elem').myPlugin({
callback: function() {
// some action
}
});
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] コールバック内で正しい `this` にアクセスする方法
-
[解決済み] JQueryでラジオボタンがチェックされているかどうかを調べる?
-
[解決済み] val()を使ってselectの値を設定しても、jqueryのchangeイベントが発生しないのはなぜですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jquery mobileでページ中央のグリッド表示
-
[解決済み] jQueryです。簡単なオーバーレイを作成するにはどうすればよいですか?
-
[解決済み] 選択オプション「selected」を値で設定する
-
[解決済み] クリックボタンでクリップボードにコピー
-
[解決済み] jQueryを使用してCSSのdisplay noneまたはblockプロパティを変更するにはどうすればよいですか?
-
[解決済み] jQueryを使用して配列から特定の値を削除する方法
-
[解決済み] jQuery セレクタ。Id Ends With?
-
[解決済み] jQueryの検証:デフォルトのエラーメッセージを変更する
-
[解決済み] jQuery OR Selector?
-
[解決済み】フォームのhiddenフィールドにjQueryの".val() "を使って値を設定してもうまくいかない。