fF3.0でインデックスページをロード中に次のエラーが表示されます。申し訳ありませんが、2030行のコードなので、ここにスクリプトを貼り付けることはできません。
element.dispatchEventは関数ではありません
拡張すると、以下のものが得られます。
fire()()prototype.js?1(行3972)
_methodized()()prototype.js?1(246行目)
fireContentLoadedEvent()prototype.js?1(行4006)
[このエラーで中断] element.dispatchEvent(event);
element.dispatchEvent(event);
は、prototype.jsの3972行目にあります。インデックスページには、prototype.jsと他の10個のjsファイルを含めています。
誰かがこの種のエラーに遭遇しましたか?このエラーが表示される理由を誰かに説明してください。
偶然同じページでjqueryとプロトタイプを使用していますか?
その場合、jquery noConflictモードを使用します。そうでない場合は、プロトタイプ$関数を上書きします。
noConflictモードは、以下を実行することによりアクティブになります。
<script src="jquery.js"></script>
<script>jQuery.noConflict();</script>
注:これにより、ドル記号変数はjQueryオブジェクトを表しなくなります。すべてのjQueryコードを書き換えないようにするには、この小さなトリックを使用してjQueryのドル記号スコープを作成できます。
jQuery(function ($) {
// The dollar sign will equal jQuery in this scope
});
// Out here, the dollar sign still equals Prototype
すべてのJqueryスクリプトタグの追加後
<script>jQuery.noConflict();</script>
prototypeとJqueryの競合を避けるため。
次の行を変更します
$(document).ready(function() {
に
jQuery.noConflict();
jQuery(document).ready(function($) {
追加する必要があります
<script>jQuery.noConflict();</script>
後
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>