справка по привязке и привязке с пользовательской функцией - PullRequest
0 голосов
/ 20 августа 2011

Я пытаюсь сделать так, чтобы кнопка меняла изображение при нажатии, а затем меняла обратно, когда пользователь нажимает снова. Я видел пример связывания и отмены привязки для stackoverflow ( здесь ), но я возился с функцией, и кажется, что я не могу сделать

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

Приведенный выше фрагмент кода не будет запускать событие при нажатии, но если я сделаю что-то подобное

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

Это будет работать. Может кто-нибудь помочь мне настроить пользовательскую функцию для работы с .bind и .unbind, как в примере?

спасибо

Ответы [ 2 ]

0 голосов
/ 20 августа 2011

bind принимает ссылку на функцию в качестве второго аргумента.То, что вы передали в своем примере, это строка, поэтому она не будет работать.Вы можете определить функцию, а затем просто передать имя функции или вы также можете напрямую передать анонимную функцию в качестве второго аргумента, который будет выполнен, когда событие вызовет

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

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

//Or

$('a#fav').bind('click', function(){
   alert("click fired");
});
0 голосов
/ 20 августа 2011

Не используйте строки для ссылки на функцию, и она будет работать:

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/

...