2009-10-10
jQueryとPrototype.jsを併用/共存してみる
普段、お仕事ではPrototype.jsばかりを利用しています。だいたい事足りるからです。JavaScriptを強化/改造(?)して、使うあたりはプログラマー好みかもしれません。Prototype.jsは、ガンダムで例えるならGアーマーです。さらにいうなら、GP03がデンドロビュームになって「なんじゃこりゃ〜」と思える物でもあります。
MG 1/100 RX-78GP03S ガンダム試作3号機ステイメン (機動戦士ガンダム0083 STARDUST MEMORY)
- 出版社/メーカー: バンダイ
- メディア: おもちゃ&ホビー
- この商品を含むブログ (3件) を見る
HGUC 1/144 RX-78GP03 ガンダムGP03 デンドロビウム (機動戦士ガンダム0083 STARDUST MEMORY)
- 出版社/メーカー: バンダイ
- メディア: おもちゃ&ホビー
- 購入: 4人 クリック: 453回
- この商品を含むブログ (24件) を見る
そんなPrototype.jsですが、おそらくデザイナーさんには、不向きかもしれません。強化し過ぎで、何が何やら...AT車で快適なドライブというよりも、MT車で車を操作するの楽しむのがPrototype.jsのような感じだからかもしれません。
そこで、jQueryとPrototype.jsを併用してみることは可能なのか調べてみました。ポイントは、$()の取り扱いです。jQueryでは$がjQueryオブジェクトとされています。Prototype.jsの$()とかぶる訳です。そこで調べてみると、jQuery側が後発なのか、これを回避する手段が用意されていました。実際に試してみたのが、以下のソースです。
jQueryとPrototype.jsを併用/共存したHTML+JavaScript
- Prototype.jsにより、「Prototype.js + jQuery」が「Prototype.js only」になります
- jQuryによりtoggleボタンを押すと、赤いブロック要素が出てきます。もう一回押すと、消えます
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">; <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-script-type" content="text/javascript"> <style> div { width: 200px; height: 200px; background: red; display: none; } </style> <script type="text/javascript" charset="UTF-8" src="../lib/prototype.js"></script> <script type="text/javascript" charset="UTF-8" src="../lib/jquery-1.3.2.js"></script> </head> <title>Prototype.js + jQuery TEST</title> <body> <h1 id="title">Prototype.js + jQuery</h1> <p><button id="toggle">toggle</button></p> <div>display:none</div> <script type="text/javascript"> $(function(){ jQuery('#toggle').click(function(){ jQuery('div:not(:animated)').toggle(); }); }) jQuery.noConflict(); function test(){ $('title').innerHTML = 'Prototype.js Only'; } window.onload = test; </script> </body> </html>
併用するポイント
いくつかポイントがありました。これで、デザイナーさんとも仲良くJavaScriptを書く事が出来るかもしれません。
トラックバック - http://d.hatena.ne.jp/d4-1977/20091010/1255156663
リンク元
- 34 http://www.google.co.jp/search?q=jquery+prototype+併用&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:ja:unofficial&client=firefox-a
- 34 http://www.google.co.jp/search?q=jquery+prototype+共存&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rlz=1R1GGGL_ja___JP324&client=firefox-a
- 30 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=KPr&q=ノートパソコン ファンがうるさい&btnG=検%
- 29 http://www.google.co.jp/search?q=prototype+jquery+併用&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 24 http://www.google.co.jp/search?hl=ja&source=hp&q=jquery+prototype+併用&btnG=Google+検索&lr=&aq=7&oq=jquery+proto
- 20 http://www.google.co.jp/url?sa=t&rct=j&q=jquery prototype 共存&source=web&cd=6&sqi=2&ved=0CEsQFjAF&url=http://d.hatena.ne.jp/d4-1977/20091010/1255156663&ei=RwXKTvLdIajXmAXm_825Bg&usg=AFQjCNGYAhNGE1fLKH4-B8Td8JS-xdy51g&sig2=-3
- 17 http://pc.casey.jp
- 17 http://pc.casey.jp/archives/2433
- 16 http://www.google.co.jp/search?client=safari&rls=en&q=jquery+prototype+共存&ie=UTF-8&oe=UTF-8&redir_esc=&ei=nL-oS5PqHJCTkAXyxqiVAw
- 16 http://www.google.co.jp/search?q=jQuery+prototype.js+共存&hl=ja&client=firefox&hs=8h0&rls=org.mozilla:ja:official&start=10&sa=N


