Ale*_*nor 29 .net c# asp.net-mvc-4 razor-2
我已经对网站进行了一次升级以使用ASP.NET MVC 4,并使用以下代码来呈现我的jQuery验证包.
但是我收到以下错误:
Microsoft JScript runtime error: Object doesn't support property or method 'live'
Run Code Online (Sandbox Code Playgroud)
单击文本框时出现此错误:
Unhandled exception at line 1234, column 5 in http://localhost:13112/Scripts/jquery.validate.js
0x800a138f - Microsoft JScript runtime error: Unable to get value of the property 'call': object is null or undefined
Run Code Online (Sandbox Code Playgroud)
我的捆绑代码:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
Run Code Online (Sandbox Code Playgroud)
我的_Layout.cshtml代码:
@Styles.Render("~/Content/css")
@Styles.Render("~/Content/themes/base/css")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/modernizr")
Run Code Online (Sandbox Code Playgroud)
这是我呈现的HTML:
<link href="/Content/site.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.core.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.resizable.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.selectable.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.accordion.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.autocomplete.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.button.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.dialog.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.slider.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.tabs.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.datepicker.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.progressbar.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.theme.css" rel="stylesheet"/>
<script src="/Scripts/jquery-1.9.0.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/jquery-ui-1.9.2.js"></script>
<script src="/Scripts/modernizr-2.6.2.js"></script>
Run Code Online (Sandbox Code Playgroud)
有人可以指出为什么会出现这种错误吗?
谢谢,亚历克斯.
Mag*_*son 49
.live方法已在jQuery v1.7 +中弃用,并在jQuery v1.9 +中删除.
Bugreport:http
://bugs.jquery.com/ticket/13213 说明:http:
//jquery.com/upgrade-guide/1.9/#live-removed
.live()已删除
自jQuery 1.7以来,.live()方法已被弃用,并已在1.9中删除.我们建议升级代码以使用.on()方法.要完全匹配$("a.foo").live("click",fn),例如,你可以写$(document).on("click","a.foo",fn).有关更多信息,请参阅.on()文档.与此同时,jQuery Migrate插件可用于恢复.live()功能.
如何修复:下载jquery migrate插件并将其添加到您的捆绑:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-migrate-{version}.js"));
Run Code Online (Sandbox Code Playgroud)
更新:现在可以从Nuget获得迁移插件:
PM> Install-Package jQuery.Migrate
| 归档时间: |
|
| 查看次数: |
30571 次 |
| 最近记录: |