jQuery Unbind () все внутри функции? - PullRequest
0 голосов
/ 28 июля 2011

Так что у меня есть такая функция, как

function onLoadMe() {
 //stuff in function
}

И вторая функция

function onLoadMeSecond() {
     //stuff in function
    }

Я хочу попробовать связать onLoadMe() при загрузке страницы, но затем отменить привязку всего в onLoadMe() и загрузить вторую функцию onLoadMeSecond() для элемента?

1012 * т.е. *

jQuery('#some-id').click(function() {
   jQuery(this).unbind(onLoadMe());
   onLoadMeSecond();
});

Как я могу это сделать, так как вышеперечисленное не работает?

Редактировать: см. Пример http://jsfiddle.net/cer9R/5/

Ответы [ 3 ]

1 голос
/ 28 июля 2011

Правильный синтаксис: $(window).unbind('load',onLoadMe).

Хотя в примере с JsFiddle вы связываете обработчик с готовым документом, а не с загрузкой страницы. Чтобы отменить это, вы можете использовать $(document).unbind('ready'). Конечно, использование события готовности документа для привязки обработчика щелчка, который отменяет привязку обработчика готовности документа (уже готового), вообще не имеет смысла.

0 голосов
/ 28 июля 2011

Удалите () из параметра отмены привязки:

jQuery('#some-id').click(function() {
   jQuery(this).unbind(onLoadMe);
   onLoadMeSecond();
});

onLoadMe вместо onLoadMe()

0 голосов
/ 28 июля 2011

ты пробовал писать так?

 jQuery(this).unbind("onLoadMe");

или, может быть, только это

 jQuery(this).unbind();
...