使用jquery删除输入框上的外部处理程序/库

Remove an external handler/library on a input box using jquery

本文关键字:处理 外部 程序 jquery 删除 输入 使用      更新时间:2023-09-26

可以使用jquery将外部应用的库移除到和元素。我有一个input,我根据单击条件更改框的类。如果输入有类电子邮件,我需要给它附加一个.mailgun_validator(),而如果类是文本,我需要解除它的绑定

$('.selection-input-box').on('change',function(){
        if($(this).hasClass('email')) {
          // Insert the mailgun validator
            $(this).mailgun_validator({
                api_key: 'XXXXXXXXXXXXX',
                success: validation_success,
                error: validation_error
            });
        } else {
          // Remove the handler. Unbind doesn't work here
            $(this).unbind('mailgun_validator');
        }
    });

这可能吗?

mailgun_validator插件本身没有删除它的方法。我在代码中看到它使用了focusout事件。您可以注销元素上的所有聚焦事件:

$(this).off('focusout');