我有一個網站使用「小部件」(從http://healcode.com),其中包括script.aculo.us JavaScript庫。問題是,我建立的網站是在WordPress上,所以有經典的jQuery
與script.aculo.us
衝突。使用jQuery noConflict()與script.aculo.us
我知道我需要在.noConflict()
模式下運行jQuery,但我必須得到錯誤的語法。當我分配$
將jQuery .noConflict
如下,它仍然會關閉script.aculo.us功能:
var $ = jQuery.noConflict();
$(document).ready(function() {
//#nav-main dropdown effects
$('#nav-main ul li').hoverIntent(function() {
$(this).find('.dropdown').stop(true,true).slideDown('900'); },
function(){
$(this).find('.dropdown').stop(true,true).slideUp('500');
});
}); // end document.ready
我知道我在.noConflict()
模式分配$
jQuery的,我認爲劇本。 aculo.us(它通過主體中的一個小部件加載,因此在jQuery之後)試圖將$
重新分配回script.aculo.us。
我該如何將$
分配給jQuery,使得後來加載的script.aculo.us庫不會發生衝突?我已經嘗試過沒有任何成功以下(下面的代碼會導致script.aculo.us工作,但jQuery的失敗):
jQuery(document).ready(function() {
//#nav-main dropdown effects
jQuery('#nav-main ul li').hoverIntent(function() {
jQuery(this).find('.dropdown').stop(true,true).slideDown('900'); },
function(){
jQuery(this).find('.dropdown').stop(true,true).slideUp('500');
});
}); // end document.ready
編輯
調試控制檯輸出上述代碼:
Uncaught TypeError: Object #<HTMLDocument> has no method 'ready' (anonymous function)
如此,因爲它分配給jQuery的,這是有點不正常加載的的document.ready失敗...
EDIT 2
這兩個(在本次更新時)答覆下面沒有做任何事情來解決我正在努力解決的問題。也許他們在技術上是正確的,但他們沒有解決我的問題。
這些建議都還是引起了jQuery衝突(因此有Scriptaculous的優先和jQuery功能無法執行)。 – Brian 2011-12-15 18:25:01
你能更具體地瞭解實際發生的事情嗎? `jQuery`應該引用jQuery,不管什麼(除非你將`true`傳遞給.noConflict)。 – BNL 2011-12-15 18:28:38
我得到以下錯誤:'未捕獲的TypeError:對象#沒有方法'準備好' (匿名函數)``因此,document.ready`失敗,因爲它被分配給jQuery,它不能正確加載。 –
Brian
2011-12-15 18:31:49