我在使用jquery" On"时注意到表单提交和验证方面的行为有所不同。 vs jquery"" Live"。似乎在使用On时,表单验证被触发,但即使表单无效,该方法仍然继续并提交表单。这与live相反,如果表单无效,则看起来甚至不会调用回调函数。
例如
form.live('submit', function(evt) {
console.log('before prevent default'); //WONT EVEN GET HERE
evt.preventDefault();
console.log("After prevent default!");
$(this).ajaxSubmit(_ajaxSubmitSettings());
});
VS
form.on('submit', function(evt) {
console.log('before prevent default');
evt.preventDefault();
console.log("After prevent default!");
$(this).ajaxSubmit(_ajaxSubmitSettings()); //Calls Ajax Submit, generating an error if form is invalid
});
我知道如何解决这个问题并且它没有阻止我,我只是想知道为什么这种行为存在差异。
为了记录,我知道我不应该再使用Live了。