До сих пор код у меня есть:Как использовать функцию preventDefault() в названной функции?
function behaviourAdd(){
$.ajax({
url: base_url + "folders/jq_set_folder_as_behaviour/add/" + $("a#behaviour").data("folder"),
success: function() {
$('a#behaviour')
.addClass('active')
.attr('title', "Remove a Behaviour")
.unbind('click')
.bind('click', behaviourRemove);
}
});
}
function behaviourRemove(){
$.ajax({
url: base_url + "folders/jq_set_folder_as_behaviour/remove/" + $("a#behaviour").data("folder"),
success: function() {
$('a#behaviour')
.removeClass('active')
.attr('title', "Add a Behaviour")
.unbind('click')
.bind('click', behaviourAdd);
}
});
}
if($('a#behaviour').hasClass('active') == true) {
$('a#behaviour').bind('click', behaviourRemove);
} else {
$('a#behaviour').bind('click', behaviourAdd);
}
Все это прекрасно работает. Тем не менее, я пытаюсь предотвратить поведение по умолчанию, но все, что я пробовал, терпит неудачу.
После многих поисков, единственный контекст, я могу найти:
$("a#behaviour").click(function(event){
event.preventDefault();
});
Что не относится ко мне, потому что я использую именованную функцию, которую я предполагаю, причина этого не работает ,
В то время как я могу передать данные события:
$('a#behaviour').bind('click', behaviourRemove(event));
Я получаю сообщение об ошибке, как только я использую его в одну из функций:
function behaviourAdd (e){
e.preventDefault();
...
}
Таким образом, любая помощь будет Добро пожаловать.
Привет, и спасибо за ответ. Таким образом, трюк состоит в том, чтобы не передавать событие в функции bind(). Хорошо. Мне кажется, что это странно, но неважно. Пока это работает! –
Это не очень странно: идея состоит в том, что вы передаете функцию 'bind', и что' bind' вызывает функцию и предоставляет аргумент. Функция передается с использованием ее имени. –