2009-06-11 52 views
50

我在FF3.0中加載我的索引頁時出現以下錯誤。對不起,我無法粘貼腳本,因爲它是2030行代碼。「element.dispatchEvent不是函數」在FF3.0的螢火蟲中發現js錯誤

element.dispatchEvent不是一個函數

在擴展它給了我下面的東西,

火()()的prototype.js?1(行3972)

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

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

[Break on this error] element.dispatchEvent(event);

element.dispatchEvent(event);是在prototype.js的第3972行。我在我的索引頁面中包含了prototype.js以及其他10個js文件。

有沒有人遇到過這種錯誤?請有人解釋爲什麼這個錯誤顯示出來。

+0

我剛剛在使用wrapbootsrap pixel-admin主題的jquery中的select2中遇到了這個問題。它可以通過http://radiant-ocean-4606.herokuapp.com/forms-advanced.html在演示網站上的螢火蟲中再現 - 當FB打開時打破select2 ... – 2014-05-11 16:06:54

+0

我有同樣的錯誤,沒有jQuery加載在頁面上:/ – eapo 2017-07-13 16:28:40

回答

98

你是否在同一頁面上使用jquery和原型?

如果是這樣,請使用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

您必須添加

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

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

畢竟jquery腳本標籤的添加

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

避免了Prototype和Jquery之間的衝突。

-1

檢查此通過調用noconflict.js後或圖書館的jQuery此呼喚不止一次jQuery庫更多noconflict.js後

0

更改以下行

$(document).ready(function() { 

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