-
ID:pvBf78 さんの質問

jQueryに関する質問です。


  • それぞれ独立したjQueryプラグイン、AとBがあって、
    $(セレクタ).A().B();
    という風にメソッドチェーンでそれぞれのプラグインを呼び出しているのですが、
    Aのプラグイン内に、Bにメソッドチェーンで繋げるか繋げないかの、分岐を作ることは可能でしょうか。
    また、可能でしたら方法についても教えてほしいです。

  • 質問がわかりづらく恐縮ですが、
    具体的には、Aでバリデーションチェックをし、Bで確認画面を表示という風にしたいのですが、バリデーションをクリアしていない場合、確認画面を表示させないようにしたく質問させていただきした。

  • 何卒、よろしくお願いいたします。

みんなの回答 6 件

ID:M0Nx8Q さんの回答

コールバックを使えば、出来ると思います。少し記述方法が変わるかもしれませせんけど

ID:pvBf78

>コールバックを使えば、出来ると思います。
アドバイスありがとうございます。コールバックについて勉強してみます。
>少し記述方法が変わるかもしれませせんけど
具体的には「$(セレクタ).A().B();」の箇所が変わるのでしょうか。
もしくは、独立したプラグイン自体に変更が必要ということでしょうか。


  • 質問ばかりで申し訳ございませんが、
    アドバイス頂ければ幸いです。
ID:fc/zvq さんの回答

プログラムに関することで、それがプログラムの範囲で解決可能なことであるならば、「〜はできますか?」という質問の回答は「できる」になるよ。

ID:pvBf78

質問内容を修正しました。
回答お待ちしております。

ID:fc/zvq

バリデーションをクリアしない場合はどうなるんだよ。早く補足しろ。

ID:fc/zvq

ていうかバリデーション通らなかったらそのプラグインAはエラーオブジェクトを最後にリターンしてるんじゃねーのかよ。おい、プラグインAはバリデーションエラーだった時に何を最後にリターンしてんだよ。早く補足しろ。

ID:fc/zvq

エラーオブジェクトをリターンしてんだったら、プラグインAを実行した後の返り値を見て、プラグインBを呼ぶか呼ばないかをおまえが決めれば良いだけの話だろうが。わざわざプラグインAに手を加える必要あんのかよ。どうなんだよ。早く補足しろ。

ID:MNcP14

こういう人に関わったらダメだね。

ID:fc/zvq

↑うっせーんだよ。おれはスパルタなんだ。トピ主以外のザコは絡んでくんな。おいトピ主、早く補足しろ。質問しおいて自分は他のことやってひと段落したら回答ついてないかチェックってか。お偉い身分だな。質問するんだったら誰よりも自分のトピにはりついとけや。

ID:pDSIqV

私はコメ主に賛成!トピ主はcodepenにでもサンプルをあげたまえ

ID:hQIUJ6

スパルタとただ口が悪いのは全くの別もの
コメ主はただのアホ

ID:fc/zvq

↑だまれ、アホ野郎。
俺はスパルタで口が悪いんだよ。一概にこれらは全くの別物じゃないわ。
どういう思考回路を持ち合わせてんだ、ったく。

ID:pDSIqV

いけ!コメ主!雑魚どもを駆逐せよ!

ID:fc/zvq

もう、トピ主帰ってこないし、スプラトゥーンやるわ。

ID:hQIUJ6

お前か!ここ最近のスプラトゥーン野郎は!

ID:fc/zvq

一緒にやろぉ♡

ID:pvBf78

「俺はスパルタで口が悪いんだ」さん
「こういう人に関わったらダメだね」さん
「トピ主はcodepenにでもサンプルをあげたまえ」さん
「コメ主はただのアホ」さん
「雑魚どもを駆逐せよ」さん
回答ありがとうございます。
また返事が遅くなりまして申し訳ございません。


  • サンプルコードを作成しましたので、アドバイスいただけないでしょうか。
    何卒、よろしくお願いいたします。
    ttp://plnkr.co/edit/KhALX957lslB5U6lgFCy?p=preview
ID:fc/zvq

もう返答遅すぎて待ちくたびれちゃったよ。ご機嫌取ってくれないとサンプルコードも見てあげないんだからね。おい、トピ主!早く、おれの機嫌を取れ!

ID:pvBf78

どや
ttp://41.media.tumblr.com/cf09444d477fb168e105229fcd7f1b01/tumblr_n790ywCyTf1r2r59eo1_1280.jpg

ID:irEDu3

トピ主さん、もしこの問題解決に5万だったら安い?高い?どう思う?

ID:pvBf78

>トピ主さん、もしこの問題解決に5万だったら安い?高い?どう思う?
どう答えても荒れそうなので回答は控えさせていただきます。

ID:hQIUJ6

答えてやれよ!

ID:haj/o8 さんの回答

チェーンメソッドの仕組みは、対象プラグインのjqueryオブジェクトをreturnしているだけだから、returnするかしないかの条件を書けばいいだけ。もちろん、受け手($.B)も、オブジェクトがないときの挙動を書いておく必要があるよ。
ただ、質問の内容がほぼ「プラグインの作り方教えて下さい」って内容になってるから、基本を勉強してから出直してこいって話になる。コードを書く欄もない井戸端サービスで教えるのなんて不可能だろ。

ID:pvBf78

回答ありがとうございます。
また返事が遅くなりまして申し訳ございません。


  • サンプルコードを作成しましたので、アドバイスいただけないでしょうか。
    何卒、よろしくお願いいたします。
    ttp://plnkr.co/edit/KhALX957lslB5U6lgFCy?p=preview
ID:hQIUJ6 さんの回答

便乗して質問!
①jqueryプラグインの作り方でググったら、
とりあえず、最後に「return this」してメソッドチェーンを繋いどけってよくみるけど、
今回のトピ主の例だと、バリデーション通らなかった場合は、なにもreturnしなければいいってこと?
②上のコメ主は、
〉もちろん、受け手($.B)も、オブジェクトがないときの挙動を書いておく必要があるよ。
って書いてあるけど、GitHubでjqueryプラグイン何個か見てても、
オブジェクトがないときの挙動は書いてないポイんだけど、
プラグイン配布する場合なんかは普通書いておくもんなの?どんなの?
イカした回答よろしく!

ID:96BbU3

イカよろしく~

ID:pvBf78 さんの回答

回答が遅くなり大変申し訳ございません。
下記、サンプルコードを作成しましたので、アドバイス頂けないでしょうか。


  • やりたいこととしましては、
    plugin_Aを実行し、エラーがあればplugin_Bの処理は行わず、
    エラーがなくなれば、確認画面を表示するというふうにしたいです。

  • 何卒、よろしくお願いいたします。

Plunker

http://plnkr.co/edit/KhALX957lslB5U6lgFCy?p=preview
ID:2gbyPN さんの回答

だれか?

ID:pvBf78

もう誰も回答くれないのでしょうか...

ID:RRhCLP

きみ需要ないもん

ID:hQIUJ6

↑答えられないだけだろw

ID:rhiiuB

だってここw3qだよ?答えられる訳ないじゃん?

最終更新日:2016-02-05 (2,059 views)

関連するトピックス

ページ上部に戻る