回调jquery函数无法正常工作

时间:2012-06-22 08:27:51

标签: jquery

我希望只有在#contact_email验证后才能运行screenCheck功能。但在我的情况下,它在那之前运行。我该如何纠正呢?

<script>
function screenCheck() {
    var screenWidth = window.screen.width;
    if (screenWidth == '1024') {
        $('#textAreaMsg label.error').css('margin-left', '99px');
    }
}

$(document).ready(function() {
    $("#contact_email").validate(screenCkeck());​
</script>

3 个答案:

答案 0 :(得分:3)

尝试在没有()

的情况下通过回调
$("#contact_email").validate(screenCheck);

另请注意,您的功能称为screenCheck,而不是screenCkeck

答案 1 :(得分:1)

除了@F。 Calderan提到,我想你的

$(document).ready(function() {
 $("#contact_email").validate(screenCkeck());​

需要关闭)};喜欢

$(document).ready(function() {
 $("#contact_email").validate(screenCheck);​
}); // need closing

答案 2 :(得分:0)

假设您正在使用JQuery validator plugin,则需要将回调作为选项映射的一部分传递。例如,要在表单被视为无效后运行回调,您可以这样写:

$("#contact_email").validate({
    invalidHandler: screenCheck
});

submitHandler 和/或 showErrors 处理程序也是如此。要处理这三个,你可以这样写:

$("#contact_email").validate({
    invalidHandler: screenCheck,
    submitHandler: submitCallback,
    showErrors: showErrorsCallback
});