最近眠気に負けて、パソコンに向かったまま寝てしまっているという日々。以前からあったのですが、最近とくに多くて体中が痛かったりします。そんな余談はいいとして、先日エントリーした「ブログでブログパーツやプラグインを入れる際の注意」のコメントにて、いつもjQuery関連でお世話になっているcyokodogさんが対処方法を書いてくださいましたので、自分も知っていたのですが復習ついでに動作確認をしてみました。本文の一部を追記しました。一応jQueryとprototypeがどちらも読み込まれている環境でのお話です。});})(jQuery);■プレビュー(たぶん動かない)クリックここが隠れたり出たり・・・しません「クリック」のボタンをクリックするとその下のテキストが消えたり出たりするそんなスクリプトなのですが、上記の例だとprototype.jsを読み込んでいる環境下だと消えません。現在prototype.jsが読み込まれている環境下なので、上記サンプルはクリックしても消えないと思います。上記のスクリプトを使うにはスクリプトの前にjQuery.noConflict();を加えれば使える。上記のスクリプトだと、最初にjQuery.noConflict();を加えても動きません。動作させる方法はこのエントリーの最後に追記しておきましたのでそちらをご覧ください。この他にも実現する方法がある。jQuery.noConflict()を記述する下記のスクリプトにすることでも動作可能になる。});});スクリプトの最初にjQuery.noConflict()を書けばよい。間に「;」などが入ると動作しなくなる。■プレビュークリックここが隠れたり出たりjQuery.noConflict()を記述した際の注意として、最後の(jQuery)は不必要になるので、そこは先ほどと違うので注意。間に「;」を入れる場合は最後に(jQUery)が必要。どちらでも各々使いたい方を使うのがいいでしょう。jQueryと一緒にライブラリを使う際に設定しましょう。});});})(jQuery);単純に$(function(){・・・});を加えることでjQuery.noConflict()を記述しなくても動作可能になります。■プレビュークリックここが隠れたり出たり上記のように、(function($){$(function(){・・・・・・});})(jQuery);このような記述であれば、共存環境下でも動作します。});});})(jQuery);なぜオレはslideUpとslideDownを分けてかいた...orz自分でも疑問でしかたない。slideToggleでまとめられるので、このほうがシンプルですよね。TrackBack(0)この記事へのコメント最初の例(function($){...})(jQuery);が動作しないのは、DOMツリーが構築される前に要素を掴みに行ってるためかと思われます。noConflictを実行しても動作しないかと思われます。2009年02月20日(function($){$(function(){・・・・・・});})(jQuery);ならjQuery(function($){・・・・・・});の方がシンプルで良いかと...あとnoConflictを実行しないと,prototype.js側の動作に問題が発生するかもしれません。id="test">test</div></body>上の例だとclick時alertは表示されますが、noConflictの部分を消すとalertは表示されなくなります。2009年02月20日(function($){$(function(){・・・・・・});})(jQuery);ならjQuery(function($){・・・・・・});の方がシンプルで良いかと...あとnoConflictを実行しないと,prototype.js側の動作に問題が発生するかもしれません。id="test">test</div></body></html>上の例だとclick時alertは表示されますが、noConflictの部分を消すとalertは表示されなくなります。[必須入力]※画像の中の文字を半角で入力してください。reserved.×この広告は180日以上新しい記事の投稿がないブログに表示されております。