在Vs Live上使用Jquery时不显眼的验证

时间:2014-08-05 20:16:09

标签: jquery asp.net-mvc forms validation

我在使用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了。

0 个答案:

没有答案