打电话"这个"从外部功能?

时间:2014-09-17 19:58:22

标签: javascript jquery

我正在处理表单的验证脚本,而不是为每个需要输入内容的输入设置单独的验证函数,我想创建一个单独的函数,该函数将在任何输入的模糊中触发形式。

如何将jQuery' this选择器与外部函数关联起来?这就是我的尝试:

function inputCheck() {
    if ($(this).val() == null || $(this).val() == "") {
        $(this).addClass('error');
        $(this).next().show();
    } else {
        $(this).removeClass('error');
    }
}

$('input').blur(function() {
    inputCheck();
});

2 个答案:

答案 0 :(得分:3)

是的,对我而言,通过绑定或致电可以轻松获得最佳javascript强度:

inputCheck.call(this);

call函数将this对象作为参数,其中包含函数/对象/变量的散列(因此您可以传递this以及其他对象,{foo: "bar"}将使用初始化的foo属性创建一个这个var,下一个参数是传递给函数的args

答案 1 :(得分:3)

您可以直接传递对该函数的引用:

$('input').blur(inputCheck);