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

0

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

/*  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. Как этого избежать?

Теги:
submit

1 ответ

0

Удалите 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");
});
  • 0
    Да, но когда я сфокусируюсь, это не изменит класс на fa-meh-o. Я должен сосредоточиться снова, чтобы сделать это с этим кодом.
  • 0
    @YevgenySimzikov смотрите мой обновленный ответ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню