我在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文件。
有人遇到过这种错误吗?请有人解释为什么会出现这个错误。
答案 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库来检查这个