如何在不使用触发器的情况下在jquery中调用回调函数?

时间:2018-01-25 05:23:50

标签: jquery

$('input:required').keyup(function () { 
    if(isEmpty($(this))){
        $(this).next().text("Required Field");
    }
    else{
        $(this).next().text("");
        validateField($(this));
    }
});

想要在不触发

的情况下调用keyUp

1 个答案:

答案 0 :(得分:0)

您应该使用.keyup().trigger('keyup').triggerHandler('heyup')让jQuery正确处理此问题。

另一种方法可能是提取函数,为其命名并使用.call(inputElement).apply(inputElement)调用它(您必须绑定它,因为您使用this - 关键字)

示例:

function inputCallback() { 
    if(isEmpty($(this))){
        $(this).next().text("Required Field");
    } else {
        $(this).next().text("");
        validateField($(this));
    }
}
let input = $('input:required').keyup(inputCallback);

// with apply or call:
if(input.length) inputCallback.apply(input.get(0));

// with jQuery trigger-function:
input.keyup();