1

在过去,以下工作完美:

$(this + ":submit").live('click', function (e) {

}); 

但我刚开始使用 JQuery 1.8.1,在选择器上出现以下错误$(this + ":submit")

Error: Syntax error, unrecognized expression: [object Object]:submit

'this' 是对表单 ID 的 jquery 选择$('form1'),结果为[ form#form1 ]

什么可能是与 Jquery 1.8.1 和以前版本的 Jquery 一起使用的替代语法?

4

2 回答 2

1

您必须提供this上下文

$(":submit", this)

这相当于

$(this).find(":submit")

我建议后者,因为它使事情更具可读性。


更新:为了澄清,我正在编辑@Esailija 的评论 -

这从来没有奏效!- 即 $(this + ":submit")

于 2012-09-10T09:10:15.433 回答
0

要么this是一个提交按钮,你只需要调用$(this),要么你的提交按钮在thisDOM 树的某个地方,你应该使用$(this).find(":submit")

于 2012-09-10T08:54:45.863 回答