Phi*_*enn 14 asp.net-mvc jquery asp.net-mvc-4 unobtrusive-ajax visual-studio-2012
使用ASP.NET MVC 4和NuGet管理包.
升级到jQuery 1.9.1via后NuGet,我开始收到JavaScript关于删除live()函数的错误jQuery 1.9.x.
我点击F5从VS.NET运行调试模式,进入登录页面,得到以下信息:

发现这个StackOverflow答案:https://stackoverflow.com/a/14512797 并进行了4次更改~\Scripts\jquery.unobtrusive-ajax.js.
我的~\Scripts\jquery.unobtrusive-ajax.js:
$(document).on("click", "a[data-ajax=true]", function (evt) {
...
});
$(document).on("click", "form[data-ajax=true] input[type=image]", function (evt) {
...
});
$(document).on("click", "form[data-ajax=true] :submit", function (evt) {
...
});
$(document).on("submit", "form[data-ajax=true]", function (evt) {
...
});
Run Code Online (Sandbox Code Playgroud)
我也物理删除jquery.unobtrusive-ajax.min.js并用于WebGrease 1.3.0从我的更新中重新生成它~\Scripts\jquery.unobtrusive-ajax.js.
但是,出于某种原因,我对不使用该.live()功能的更改并不坚持.我尝试停止运行MVC应用程序的IIS Express 8.0网站(localhost:63798).
在尝试再次运行F5以在调试模式下运行之前,还尝试执行Build-> Clean Solution,Build-> Rebuild Solution.
如果有人以前经历过这个并且有任何见解,我将非常感激.先感谢您.
jmo*_*dyk 17
在微软jQuery的不显眼的Ajax包已被固定在2.0.30116.0版本来解决这个问题.调用.live()已更改为使用.on().
尝试升级NuGet包以获取最新版本.
但是,使用jQuery Migrate包的建议很适合在其他插件或您自己的代码中查找与jQuery 1.9+中的更改不兼容的问题.
Nop*_*ope 10
live() 已经在jQuery 1.9中删除了一些其他功能.
如果您需要支持已删除的功能,则还需要添加包含已删除功能的jQuery迁移文件.
添加类似于下面的引用应该包括您需要的所有功能:
<script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>
Run Code Online (Sandbox Code Playgroud)
调试模式下的迁移文件还会向控制台添加警告,以便在使用任何已删除的功能时通知您.这将帮助您逐步替换它们,最终只能使用jQuery 1.9及更高版本删除迁移文件引用.
有关迁移到jQuery 1.9的所有详细信息,请参阅以下jQuery博客文章.
| 归档时间: |
|
| 查看次数: |
14878 次 |
| 最近记录: |