2012-09-20 23 views
2

我在我的代碼中使用jQuery $ var,但我有一些外部js文件,那些使用$jx作爲jQuery Var。現在我的代碼不工作,我得到$不是一個功能。我刪除了所有外部js文件,然後它正在工作。我尋找解決方案。很多人都說「你可以使用你自己的var作爲jQuery/$而不是像var $jx = jQuery.noConflict();那樣使用。但是當我在頁面中調用這一行時,我的$ var被刪除並顯示」$不是函數「錯誤。代碼來解釋這個問題jQuery多個變量不在同一頁上工作

請閱讀並測試我的以下代碼。上面的代碼

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 
<script type="text/javascript"> 
//var $=jQuery.noConflict(); 
var $jx = jQuery.noConflict(); // this $jx var will be used in another plugins or codes 

function test() 
{ 
$("#test").hide(); 
} 
</script> 

</head> 

<body> 
<input type="button" value="Click Me to hide box" onclick="test()" /> 
<div id="test" style="border:1px solid #0033FF; background:#999900; height:100px; width:200px; color:#FFFFFF; font-size:20px;">I will be hidden</div> 
</body> 

運行,點擊按鈕,什麼也不會發生。會發生錯誤。 現在只要刪除這行var $jx = jQuery.noConflict();然後它會工作。我沒有在這裏使用$ jx,但爲其他外部腳本製作。那麼如何在同一頁面中同時使用$和$jx? 我的錯誤是什麼?

我的工作已在項目中間停止。

請幫我

回答

0

你可以使用:

var $jx = jQuery.noConflict(); 
$jx(document).ready(function($){ 

function test() 
{ 
    $("#test").hide(); 
} 
}); 

當你重新定義$作爲手柄的jQuery

3

Rewrite it like this

<script type="text/javascript"> 

$.noConflict(); 


function test() 
{ 
    jQuery("#test").hide(); 
} 
</script> 

這意味着,而不是$你將不得不使用jquery在你的代碼中,你需要使用$

OR

<script type="text/javascript"> 
var jx = $.noConflict();  


function test() 
{ 
    jx("#test").hide(); 
} 
</script> 

現在,它意味着不$你將不得不使用j在代碼中徘徊無論$,你需要使用。

+0

但我需要,因爲一些其他的插件,使用JX使用我的網頁上都$jx$("#test").hide();jx("#test").hide();,我使用$ – oneTarek

+0

爲什麼不使用'jx(「#test」)。hide();'?你現在得到什麼樣的錯誤 – Rab

+0

但我需要在我的頁面上使用$和jx,$(「#test」)。hide();和jx(「#test」)。hide();因爲其他插件正在使用jx,而我正在使用$,如果將來我會添加另一個使用另一個var $ jq的插件,那麼會發生什麼。 – oneTarek

0

我用

var jquery = $; 
jquery("#test").hide(); 
+0

如果'$'不是一個函數,傳遞它通過一箇中間變量不會解決任何問題。 –

相關問題