JQuery解绑定一个特定的处理程序

时间:2010-11-15 15:36:06

标签: jquery

鉴于以下代码,您如何让unbind('click', h)工作?

目前无效。我可以使h成为一个全局变量但我不知道如何在函数中设置msg变量来“设置它”。

...

function x(open) {
    var msg = "blah";

    var h = function (e) {
        e.preventDefault();
        showDialog(msg);
    };

    if (open === true) {
        but.unbind('click');
        link.unbind('click');
    } else {
        but.click(h);
        link.click(h);
    }    
}

1 个答案:

答案 0 :(得分:1)

msg = "blah"

h = function(e) 
{ 
    e.preventDefault();
    showDialog(msg);
};

function x(open) 
{
    msg = "whatever";

    if (open === true) 
    {
        but.unbind('click', h);
        link.unbind('click', h);
    } 
    else 
    {
        but.click(h);       
        link.click(h);      
    }
}

*我认为