“element.dispatchEvent不是函数”js错误在FF3.0的firebug中捕获

时间:2009-06-11 12:00:18

标签: javascript firebug element dispatchevent

我在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以及其他几个js文件。

有人遇到过这种错误吗?请有人解释为什么会出现这个错误。

5 个答案:

答案 0 :(得分:110)

您是否在同一页面上使用jquery和prototype?

如果是这样,请使用jquery noConflict模式,否则你将覆盖原型$ function。

通过执行以下操作激活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

答案 1 :(得分:10)

在所有Jquery脚本标记添加

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

避免Prototype和Jquery之间的冲突。

答案 2 :(得分:2)

更改以下行

$(document).ready(function() {

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

答案 3 :(得分:1)

你必须添加

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

之后

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

答案 4 :(得分:-1)

通过在noconflict.js之后调用库jquery或者在noconflict.js之后调用多次jquery库来检查这个