質問: jqueryについて質問させてください。 cluetipというjqueryプラグインを使って、ページにツールチップを表示するようにしたくて、いちおう、cluetipのドキュメントなどを読んで設置してみたところ、 ローカル上ではちゃんと表示されるのですが、サーバーにアップロードしてから見ると、ツールチップが表示されなくなってしまいます。 また、ブラウザによっては、再度読み込みを行うとツールチップが表示される様になる場合もありました。 完全に行き止まり状態になってしまいました。 【問題のページです】 上記ページのフォーム部分にloadで別のhtmlから にフォームを呼び出しています。 周りにも質問できる方がいないので、何卒宜しくお願いいたします。
回答: No2です。 実際のソースを見てないので、No2の回答は想像で書いてます。 『ローカルで問題なくて、サーバーでうまくいかない』ということからタイミングの問題かなと... jquery自体をよく知らないのですが、loadは多分非同期だと思われるので、 $('.title').cluetip({splitTitle: '|'}); を実行した時にまだ、フォームのloadが終了していなければ、(当然ながら)それらの要素には設定されないことになります。 なので、確実を期すならloadが終了してから実行するのがよろしいかと... loadは load( url, data, callback )みたいな構文らしいので、callbackで実行すればよいのでは? と思ったけれど、No3様の回答を見ると、loadが何種類かあるみたい... 対象がその中の一つなら、そのcallbackでもよいけれど、複数あるのなら、それぞれの終了を見て一番最後に(対象を全部ロードし終わって)実行するような関数を作っておいて、それをセットしてあげる必要がありそう。 あるいは、設定するほうの範囲を限定して(loadした範囲にして)、それぞれに設定するのでもいけるのかも。