Jquery 带有选择器的事件,用于使用选择器动态加载的元素

Jquery 带有选择器的事件,用于使用选择器动态加载的元素,jquery,Jquery,我正在修改与asp.net mvc 3打包的jquery.unobtrusive-ajax.js,以允许动态加载的表单工作 旧的: 我的代码: $("body").on("submit","form[data-ajax=true]", function (evt) { /*code here */ }); 对我来说,这件事根本就没有发生过。是否第二个参数(选择器)必须直接位于主体下?我不确定如何才能使相同的功能与动态加载的表单一起工作。或许可以尝试以下方法: $(document).o

我正在修改与asp.net mvc 3打包的jquery.unobtrusive-ajax.js,以允许动态加载的表单工作

旧的:

我的代码:

$("body").on("submit","form[data-ajax=true]", function (evt) {
    /*code here */
});
对我来说,这件事根本就没有发生过。是否第二个参数(选择器)必须直接位于
主体下
?我不确定如何才能使相同的功能与动态加载的表单一起工作。

或许可以尝试以下方法:

$(document).on("submit","form[data-ajax=true]", function (evt) {
/*code here */
});

我自己也有过这样的例子,有时它不适用于“body”,但适用于文档

它对
live
有效吗?是的,为什么
live
不起作用?当我使用live时,它对动态加载的元素不起作用,但是当我更改代码时,它根本不起作用。这个小提琴看起来很好用:所以我只能假设你的错误在html中。你能把它贴出来吗?编辑:
live()
也在做同样的基本工作,因此如果它不起作用,这更多地证明了您的html有问题……live应该可以与动态加载的元素一起工作,on现在是更好的方法-它取代了live,而且更有用、更快。为什么?在
中是否有
?!根据我自己的经验,如果你只用身体的话,有些活动是不起作用的。
$(document).on("submit","form[data-ajax=true]", function (evt) {
/*code here */
});