解除绑定和绑定帮助用户定义的函数

时间:2011-08-20 17:07:53

标签: jquery function event-handling click bind

我在点击时尝试按钮更改图像,然后在用户再次点击时更改回来。我在stackoverflow(here)上看到了一个关于绑定和取消绑定的示例,但是我正在搞乱这个函数,看起来我不能这样做

$('a#fav').bind('click','addFav');

上面的代码段不会在点击时运行事件,但如果我这样做

    $('a#fav').bind('click',function(){
    alert('test');
});

它会起作用。有人可以帮助我获得用户定义的函数来处理.bind和.unbind,就像在示例中一样吗?

谢谢

2 个答案:

答案 0 :(得分:0)

不要将字符串用于函数引用,它将起作用:

function addFav(e) {
    e.preventDefault();
    alert('called');
    return false;
}
$(document).ready(function() {
    $('a#fav').bind('click', addFav);
})

以下是一个示例:http://jsfiddle.net/BpGXD/

以下是unbind的示例:http://jsfiddle.net/BpGXD/2/

答案 1 :(得分:0)

bind将函数引用作为第二个参数。你在你的例子中传递的是一个字符串,所以它不会起作用。您可以定义函数,然后只传递函数名称,或者您也可以直接传递匿名函数作为第二个参数,这将在事件触发时执行

function addFav(){
   alert("click fired");
}

$('a#fav').bind('click', addFav);

//Or

$('a#fav').bind('click', function(){
   alert("click fired");
});