Javascript関連情報

更新日:2007年11月23日

他のコードとの衝突を避けるテクニック

jQueryとprototype.jsやYahoo!UI(YUI)など他のコードとを併用する場合の注意点と作法をみておきます。 jQueryのメソッドを使い、jQueryという名前そのものを変更して他のライブラリへ組み込むこともできます。

jQueryのプラグインの話を進める前に、prototype.jsやYahoo!UI(YUI)など他のコードを併用する場合の注意点と作法をみておきます。

ライブラリと名前の衝突

以前、YUIのネームスペース の記事でも書きましたが、 ライブラリなどの再利用を目的とするコードに、グローバルな変数や配列がいくつも存在する場合には、 スクリプト内のそれらをすべて把握せずに利用すると、意図せずに大事なデータを書き換えてしまうリスクを抱え込むことになります。

jQueryでは、jQuery以外のコードとの名前の衝突(変数名や関数名など)を避けるために、グローバルな領域に露出している名前は、 「jQuery」と「$」のわずかふたつだけに抑えるように配慮されています。

このネームスペースの考え方は、前回試した、jQueryの拡張方法として 用意されたプラグインでも、原則的に「jQuery.fn」以下へ作成することで守られています。

つまり、今後、jQueryで書かれたプラグインやUIを含めて、jQuery系のライブラリを利用するときは、 ネームスペースに関しては、このふたつのオブジェクトを軸に注意することになります。

とはいいながら、そんなjQueryでも、デフォルトのままで、もし、prototype.jsと 併用すると、ほぼ間違いなく不具合が発生します。

回避方法は後述しますが、少なくとも、prototype.jsとjQueryで使われている「$関数」(jQueryでは$ショートカット)が衝突するからです。

そこで、jQueryには、他のコードと併用する時の衝突を未然に避ける方法が提供されています。

次ページでは、まず、prototype.jsとjQueryのグローバルオブジェクトの構成についてみてみます。

1 2 3 4
  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

高橋 登史朗

Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…

続きを読む

住まいには、人の個性がよく現れるもの。同じ空間をどのように使うかで、雰囲気も、快適さも大きく変わってくる。ここでは、「建築家と家を建てる」ガイド の川畑博哉氏が厳選した10軒を紹介し、建築家それぞれのこだわりのポイントを紹介しよう。建築のプロたちが考え出した、マネしたくなるアイデアが満載! さぁ、いますぐチェック!

人気Javascriptランキング

Powered by 価格.com

デジタル関連コミュニティ

北欧好きが、愛用の北欧モノを見せ合うコミュニティ

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

ショッピングカタログ

All About ウェブマガジン

女性向け

雨が楽しくなる!レイングッズ15

男性向け

マネしたくなるアイデア住宅

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック

知識・経験を生かして、記事を書いてみませんか?