jquery - ASP.NET MVC 4 : cannot modify jQuery Unobtrusive Ajax

标签 jquery asp.net-mvc asp.net-mvc-4 visual-studio-2012 unobtrusive-ajax

使用 ASP.NET MVC 4NuGet 管理包。

通过 NuGet 升级到 jQuery 1.9.1 后,我开始收到有关删除 live() 的 JavaScript 错误jQuery 1.9.x 中的 函数。

我按 F5 从 VS.NET 以 Debug模式运行,转到登录页面,并得到以下信息:

Error Microsoft JScript

找到这个 StackOverflow 答案:https://stackoverflow.com/a/14512797并对 ~\Scripts\jquery.unobtrusive-ajax.js 进行了 4 处更改。

我的~\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) {
       ...
    });

我还物理删除了 jquery.unobtrusive-ajax.min.js 并使用 WebGrease 1.3.0 从我更新的 <强>~\Scripts\jquery.unobtrusive-ajax.js

但是,由于某种原因,我对不使用 .live() 函数的更改没有坚持下去。我尝试停止 IIS Express 8.0 网站 (localhost:63798),VS.NET 在该网站下运行 MVC 应用程序。

还尝试执行“构建”->“清理解决方案”、“构建”->“重建解决方案”,然后按 F5 再次在 Debug模式下运行。

如果有人以前经历过这种情况并有任何见解,我将非常感激。先感谢您。

最佳答案

Microsoft jQuery Unobtrusive Ajax软件包已在版本 2.0.30116.0 中修复以修复此问题。对 .live() 的调用已更改为使用 .on()

尝试升级您的 NuGet 包以获取最新版本。

但是,使用 jQuery Migrate 包的建议是查找其他插件或您自己的代码中与 jQuery 1.9+ 中的更改不兼容的问题的好方法。

关于jquery - ASP.NET MVC 4 : cannot modify jQuery Unobtrusive Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15372108/

相关文章:

c# - 如何使用 Criteria 打印 List<T>?

c# - Owin:多次调用 OnApplyRedirect 并创建不正确的 RedirectUri

c# - 将 MVC 连接到现有表

asp.net-mvc - 优化性能或属性路由和路由表

javascript - MVC4 View 未检测到 JQuery

php - 此路由不支持 POST 方法。 (Laravel 与 ajax)

php - 如何在刷新时更改全屏背景?

javascript - 等高在 Safari 中不起作用 (jQuery)

javascript - 如何从与当前 TD 具有相同索引的下一行获取 TD

jquery - 通过 Nuget 添加新版本的 Jquery 以及 t4mvc 的问题