此函数正常工作(#new_user是表单的id):
$("#new_user").submit(function(e) {
e.preventDefault();
return $(".terms").dialog("open");
});
但是当我尝试添加一个类时,例如:
$("#new_user.team-registration").submit(function(e)
它没有。
如果表单#new_user还有类团队注册或艺术家注册,我怎样才能使它工作?可以只是其中之一。谢谢!
答案 0 :(得分:3)
因为在实际处理行时没有将类分配给表单元素,所以选择器不返回任何内容......您可以使用.delegate()
函数(类似于您预期的那样。) ()以前做)。这是一个例子:
$("body").delegate("#new_user.team-registration, #new_user.artist-registration", "submit", function() {
return false; // in jQuery this preventsDefault and stops all propagation
});
或者你可以将表单元素存储在一个变量中,在你向它添加类的位置然后引用它(这样你就不必遍历DOM了两次)..
可以在.delegate()here
上阅读更多内容答案 1 :(得分:0)
$("#new_user").submit(function(e) {
if(!$(this).hasClass('team-registration') && !$(this).hasClass('artist-registration')) {
return;
}
e.preventDefault();
$('.terms').dialog('open');
})