2009-06-11 11 views
50

Je reçois l'erreur suivante lors du chargement de ma page d'index dans FF3.0. Désolé, je suis incapable de coller le script ici car il s'agit de 2030 lignes de code."element.dispatchEvent n'est pas une fonction" erreur js pris dans firebug de FF3.0

element.dispatchEvent est pas une fonction

sur l'expansion, il me donne ci-dessous des choses,

feu()() Prototype.js? 1 (ligne 3972)

_methodized()() prototype.js? 1 (ligne 246)

fireContentLoadedEvent() prototype.js? 1 (ligne 4006)

[Rompez sur cette erreur] element.dispatchEvent (event);

element.dispatchEvent(event); est dans la ligne 3972 de prototype.js. J'inclus prototype.js avec 10s d'autres fichiers js dans ma page d'index.

Est-ce que quelqu'un a rencontré ce genre d'erreur? S'il vous plaît, quelqu'un m'expliquer pourquoi cette erreur apparaît.

+0

Je viens d'avoir ce problème avec une jQuery select2 en utilisant le thème wrapbootsrap pixel-admin.Il peut être reproduit dans firebug sur le site de démonstration via http://radiant-ocean-4606.herokuapp.com/forms-advanced.html - casse le select2 quand FB est ouvert ... –

+0

j'ai la même erreur et pas de jQuery chargé sur la page:/ – eapo

Répondre

98

utilisez-vous jquery et le prototype sur la même page par hasard?

Si oui, utilisez le mode jquery noConflict, sinon vous écrasez la fonction prototypes $.

mode noConflict est activé en procédant comme suit:

<script src="jquery.js"></script> 
<script>jQuery.noConflict();</script> 

Note: en faisant cela, la variable de signe dollar ne représente plus l'objet jQuery. Pour éviter de réécrire tout le code jQuery, vous pouvez utiliser cette petite astuce pour créer un champ de signe dollar pour jQuery:

jQuery(function ($) { 
    // The dollar sign will equal jQuery in this scope 
}); 

// Out here, the dollar sign still equals Prototype 
+1

parfait. cela a juste fini des heures de frustration pour moi. Merci beaucoup! :-) – mscccc

+1

Merci beaucoup! Ça a aussi fait de la magie pour moi. –

+0

merci, pour moi cette erreur était due au conflit entre jquery et le prototype – Ross

1

Vous devez ajouter

<script>jQuery.noConflict();</script>

après

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
9

Après toutes les étiquettes de script Jquery ajouter

<script>jQuery.noConflict();</script> 

pour éviter le conflit entre Prototype et Jquery.

-1

chèque en appelant la bibliothèque jquery après les noconflict.js ou que cet appel plus de la bibliothèque une fois jquery après les noconflict.js

0

Modifier la ligne suivante

$(document).ready(function() { 

Pour

jQuery.noConflict(); 
jQuery(document).ready(function($) {