web-dev-qa-db-fra.com

"element.dispatchEvent n'est pas une fonction" erreur js détectée dans le firebug de FF3.0

j'obtiens l'erreur suivante lors du chargement de ma page d'index dans FF3.0. Désolé, je ne peux pas coller le script ici car il s'agit de 2030 lignes de code.

element.dispatchEvent n'est pas une fonction

Sur l'expansion, cela me donne ci-dessous des choses,

fire () () prototype.js? 1 (ligne 3972)

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

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

[Rompre 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.

Quelqu'un a-t-il rencontré ce genre d'erreur? Veuillez m'expliquer pourquoi cette erreur apparaît.

53
Subh

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

Si c'est le cas, utilisez le mode jquery noConflict, sinon vous écrasez les prototypes $ function.

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

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

Remarque: ce faisant, la variable de signe dollar ne représente plus l'objet jQuery. Pour éviter de réécrire tout votre code jQuery, vous pouvez utiliser cette petite astuce pour créer une portée de signe dollar pour jQuery:

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

// Out here, the dollar sign still equals Prototype
110
Davo

Après tout, l'ajout de la balise de script Jquery

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

pour éviter le conflit entre Prototype et Jquery.

10
King Linux

Modifiez la ligne suivante

$(document).ready(function() {

À

jQuery.noConflict();
jQuery(document).ready(function($) {
2
Kinjal Pathak

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>
1
Mufrah