Я пытаюсь переключиться между двумя функциями при нажатии кнопки «Мне нравится».переключиться между двумя функциями - jquery
<div class="like">
<div class="count"><%= post.num_likes %> </div>
<div class="icon" id="like"><i class="icon-thumbs-up-alt"></i></div>
</div>
прямо сейчас у меня есть:
$(".like").click(function(event){
event.stopPropagation();
$("i", this).toggleClass("icon-thumbs-up-alt").toggleClass("icon icon-thumbs-up");
likePost(TestCanvas, $(this).prev('div').find('.hideThis').text());
});
likePost (canvasID, сообщения дан) принимает параметры и взаимодействует с API Когда я нажимаю на .like снова, я хотел бы назвать unlikePost().
Есть ли простой способ переключения между подобными способами() и unlikePost(), когда .like нажата?
Ive пытался:
$('.like').toggle(function() {
alert('First handler for .toggle() called.');
likePost(TestCanvas, $(this).prev('div').find('.hideThis').text());
}, function() {
alert('Second handler for .toggle() called.');
unlikePost(TestCanvas, $(this).prev('div').find('.hideThis').text());
});
Ее не работает, как я думал, что это все же. Кажется, выполняется при загрузке страницы, а не при нажатии кнопки .like.
Ну, так как вы подаете класс, вы могли бы проверить наличие этого класса с 'методом hasClass'. – crush
метод '.toggle (fn1, fn2)' был устаревшим, поскольку jQuery 1.9 – Alnitak
Спасибо вам, что вы тоже друг за то, что задавали тот же квест, который я искал с тех пор;) – NullPointer