2014-12-11 125 views
0

我有一個用於我的網站的常用JS文件,它使用了很多jQuery。我試圖實現的一個表單使用prototype.js,因此存在衝突,我不希望更改通用JS文件中的名稱空間。將jQuery noConflict()傳遞給ajax

是否有可能通過AJAX加載表單並以某種方式釋放「$」以便表單腳本可以正確加載?

我的意思是:

...的HTML頁面包含一個DIV,其中形式應該加載:

<div id="form-container"></div> 
<script src="myScripts.js"></script> 

...和myScripts.js文件將包括此:

var request = $.ajax({ 
    url: "form-code.html", 
    beforeSend: function() { 
     $.noConflict(); 
    }, 
    dataType: "html" 
}); 

request.done(function(html){ 
    $("#form-container").html(html); 
}); 

...和形式,code.html將包括:

<script src="prototype.js"></script> 
<form> 
    <!-- form code here --> 
</form> 

任何建議將不勝感激;謝謝!

回答

-1

你必須改變常用的js文件。你不能在ajax查詢中使用它。使用noConflict的要點在於,其他庫在由其他庫使用時不會使用$。並聲明在一個Ajax調用背叛了這種意圖,因爲直到那時原型和jQuery以他們自己的方式聲明$。