2014-12-11 124 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以他们自己的方式声明$。