Jquery如何取消触发函数

All*_*lly 4 jquery triggers function

我正在创建一个动态表单.我有一个下拉列表,当用户进行选择时,将查询数据库以查看该项是否需要隐私.如果没有,则会向表单添加其他字段.此外,还会触发邮政编码查找ajax功能,但只有在项目不是私有时才会触发.

这一切都很好,直到用户改变主意...

以下是从下拉列表中选择项目时运行的代码的相关部分;

success:function(response){
    if(response === '1'){
        // do stuff for item that requires privacy
        // do NOT trigger zip_check function
    }else if(response === '0'){
        // do stuff for item that is public +
        $('#zip-code').keyup(zip_check); // triggers a function to check zip code
    }
}
Run Code Online (Sandbox Code Playgroud)

这可以按预期工作,直到用户选择非私有项然后改变主意并选择私有项,在这种情况下,即使现在不应该触发zip_check函数,zip_check函数仍将运行.我哪里错了?

Har*_*ngh 6

试试这个:

用于绑定:

$('#zip-code').on('keyup',zip_check);
Run Code Online (Sandbox Code Playgroud)

并解除绑定:

$('#zip-code').off('keyup',zip_check);
Run Code Online (Sandbox Code Playgroud)