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

Sub*_*ubh 53 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和10个其他js文件.

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

小智 110

你有机会在同一页面上使用jquery和prototype吗?

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

通过执行以下操作激活noConflict模式:

<script src="jquery.js"></script>
<script>jQuery.noConflict();</script>
Run Code Online (Sandbox Code Playgroud)

注意:通过执行此操作,美元符号变量不再表示jQuery对象.为了避免重写所有的jQuery代码,你可以使用这个小技巧为jQuery创建一个美元符号范围:

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

// Out here, the dollar sign still equals Prototype
Run Code Online (Sandbox Code Playgroud)

  • 只是为了完整性,通过在`<script src ="jquery.js"> </ script>之后添加`<script> jQuery.noConflict(); </ script>`来激活冲突模式. (7认同)

小智 10

在所有Jquery脚本标记添加之后

<script>jQuery.noConflict();</script>
Run Code Online (Sandbox Code Playgroud)

避免Prototype和Jquery之间的冲突.


Kin*_*hak 5

更改以下行

$(document).ready(function() {
Run Code Online (Sandbox Code Playgroud)

jQuery.noConflict();
jQuery(document).ready(function($) {
Run Code Online (Sandbox Code Playgroud)