jQuery focusin / focusout. Избегайте фокусировки при отправке

У меня есть небольшой скрипт для переключения счастливого лица при фокусировке в форме:

/*  Happy face script */
$('#search').on('focusin', function() {
   $("#smile").removeClass("fa-meh-o");
   $("#smile").addClass("fa-smile-o");
});
$('#search').on('focusout', function() {
   $("#smile").removeClass("fa-smile-o");
   $("#smile").addClass("fa-meh-o");
});

Однако когда я click 'submit' это восходит к focusout государство. Как мне этого избежать?

1 ответ

Удалить focusoutevent и использовать toggleClass() как,

$('#search').on('focusin', function() {
   $("#smile").toggleClass("fa-meh-o fa-smile-o");
});


$('#submit')on('click',function(){
   // your code then you can remove the classes again if not then remove below code
   $("#smile").toggleClass("fa-meh-o fa-smile-o");
});

Обновлено вы можете использовать focusin and focusout с тем же toggleClass лайк,

$('#search').on('focusin focusout', function() {
   $("#smile").toggleClass("fa-meh-o fa-smile-o");
});
Другие вопросы по тегам