我在通过.NET MVC4
我正在添加以下脚本以在我的代码中捆绑
bundles.Add(new ScriptBundle("~/bundle").Include("~/Scripts/jquery-1.9.1.min.js","~/Scripts/kui/kendo.all.min.js", "~/Scripts/kui/kendo.grid.min.js", "~/Scripts/jquery.validate.min.js"));
到此为止,一切正常,但当我将jquery.unobtrusive-ajax.min.js
添加到列表中时:
bundles.Add(new ScriptBundle("~/bundle ").Include("~/Scripts/jquery-1.9.1.min.js","~/Scripts/jquery.unobtrusive-ajax.min.js","~/Scripts/kui/kendo.all.min.js", "~/Scripts/kui/kendo.grid.min.js", "~/Scripts/jquery.validate.min.js"));
所有脚本都停止工作(验证,Kendo UI等),我通过Visual Studio JS调试器获得此异常:
Microsoft JScript runtime error: Object doesn't support this property or method
在生成的包脚本文件中突出显示以下代码:
n("a[data-ajax=true]").live("click",function(n){n.preventDefault(),r(this,{url:this.href,type:"GET",data:[]})}),n("form[data-ajax=true] input[type=image]").live( ….
继续前进(JavaScript / Jquery相关)不再适用。
JS文件中可能存在var或函数名称冲突?但是在很长的缩小和捆绑的脚本文件中很难找到它。 请帮助。
答案 0 :(得分:1)
这是因为jQuery v1.9中已经删除了live
函数。
您可以尝试将.live
更改为.on
。
或者,尝试更新jQuery Unobtrusive Ajax NuGet包。
答案 1 :(得分:1)
试试这样:
替换
$("a[data-ajax=true]").live("click",function(n){});
带
$("a[data-ajax=true]").on("click",function(n){});
希望有所帮助