我用以下
包围了我的脚本(function ($)
{
$(document).ready(function () {....})
function HandleOpJqUIClientSide(){....}
.............
})(jQuery);
以及在asp页面中嵌入以下内容
<script src="~/Scripts/StatsScript.js" type="text/javascript">jQuery.noConflict();</script>
我的脚本中有一个函数,在服务器端调用如下
ScriptManager.RegisterStartupScript(this, typeof(Page), UniqueID, "HandleOpJqUIClientSide()", true);
在使用noconflict处理我的脚本之前它正常工作(因为我需要它,因为一些外部插件与我的代码冲突)
现在扔了
未定义的异常
如何再次操作从服务器端调用的函数
答案 0 :(得分:2)
你必须像这样
jQuery.noConflict();
(function ($)
{
$(document).ready(function () {....})
function HandleOpJqUIClientSide(){....}
.............
})(jQuery);
从脚本代码中删除noConflict
<强>更新强>
实际上HandleOpJqUIClientSide
在该范围内是私有的,无法直接从外部访问,我们需要有一个公共访问者。
jQuery.noConflict();
var noConflict = (function ($){
$(document).ready(function () {....})
return {
HandleOpJqUIClientSide : function (){....}
}
.............
})(jQuery);
在服务器端
ScriptManager.RegisterStartupScript(this, typeof(Page), UniqueID, "noConflict.HandleOpJqUIClientSide()", true);
答案 1 :(得分:0)
你只需要这样做:
<script src = "other_lib.js"> </script>
<script src="jquery.js"></script >
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function ($) {
function HandleOpJqUIClientSide() {
//your $ in the code here will represent JQuery
}
});
// Code that uses other library's $ can follow here.
</script>
外部文件准备好了:
var $1=JQuery();
function HandleOpJqUIClientSide() {
//your $1 in the code here will represent JQuery
}