2012-08-10 116 views
0

jQuery新手總是很容易!如何解決兩個jQuery插件之間的衝突

我在<head>以下jQuery的文件: -

<script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
<script type="text/javascript" src="jquery.ui.core.min.js"></script> 
<script type="text/javascript" src="jquery.ui.widget.min.js"></script> 
<script type="text/javascript" src="jquery.ui.mouse.min.js"></script> 
<script type="text/javascript" src="jquery.ui.sortable.min.js"></script> 
<script type="text/javascript" src="jquery.ui.tabs.min.js"></script> 
<script src="./thesaurus/js/jquery.thesaurus.js" type="text/javascript"></script> 

而下面的文檔準備呼叫: -

<script type="text/javascript"> 
$(document).ready(function() 
{ 
$('#container').Thesaurus 
({ 
    effect: 'fade', 
    caseSensitive: true // Used when matching found terms against loaded ones 
}); 
    var page2jQueryTabs1Opts = 
    { 
     event: 'click', 
     collapsible: false 
    }; 
    $("#page2jQueryTabs1").tabs(page2jQueryTabs1Opts); 
}); 
</script> 

我的問題是,詞庫的作品完美,但jQuery的標籤部分沒有。

我一直在試驗(幾個小時!)與jQuery.noconflict()但我懷疑我一直在浪費我的時間,因爲我只使用jQuery的一個實例?而且我不斷嘗試改變命名空間(我認爲這就是我一直在嘗試的!)已經失敗了。對於記錄,我可以編輯thesaurus.js,並且我可以控制文檔的第一部分,但是我無法更改準備好的文檔的順序/順序 - 即$('#container').Thesaurus必須首先出現,而且我無法編輯準備好doc的jQuery Tab部分。

不要繼續在黑暗中進行刺探,反覆試驗我會問這個問題......我需要對標記進行哪些修改......或thesaurus.js文件(found here)。

現在一些阿司匹林的時間!

編輯:Test page

+0

請嘗試創建並顯示您的問題的示例。有了這個代碼snipet很難告訴你一些東西。 – davidbuzatto 2012-08-10 14:34:52

+0

完成 - OP編輯。 – PBB 2012-08-10 16:50:46

+0

好的。你的問題是你不能改變活動標籤? – davidbuzatto 2012-08-10 16:51:53

回答

0

我是不是能解決使用任何jQuery no.Conflict()選擇這裏或從外部研究的衝突,但我已經轉產$('#container').Thesaurus({$('.someclass').Thesaurus({使,而不是調用一個DIV簡單地解決我的問題,它使用一個CSS類。一切都現在桃色:)

非常感謝那些試圖幫助 - 一如既往,總是非常感激。

0

編輯:對不起。我認爲firebug更新並執行代碼在本地,但它似乎沒有這樣做...請嘗試下面的代碼,並讓我知道它是否工作...

我試過在Firebug和它工作。試試這個:

$(document).ready(function(){ 

    var page2jQueryTabs1Opts = { 
     event: 'click', 
     collapsible: false 
    }; 
    $("#page2jQueryTabs1").tabs(page2jQueryTabs1Opts); 

    $.noConflict(); 

    $('#container').Thesaurus({ 
     effect: 'fade', 
     caseSensitive: true // Used when matching found terms against loaded ones 
    }); 

}); 

我只是swaped標籤和詞庫的聲明和把$ .noConflict()之間。

+0

我試過這個和幾個變化。 jQuery Tabs按預期工作,但Thesaurus jQuery沒有。我已將頁面重新編輯回原樣(同義詞庫工作)不選中 - 請參閱Oxidation一詞下的虛線,然後懸停。 另外我應該指出,在doc準備好的陳述可能會非常不同的情況下,敘詞表可能是第一,第二或第三或...在列表中,我無法控制。所以我需要解決所有可能性的衝突。 – PBB 2012-08-10 20:26:48