2013-11-14 9 views
0
отправить

У меня есть этот небольшой скрипт для переключения счастливого лица при фокусировке в виде:jQuery focusin/focusout. Избегайте 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 государства. Как этого избежать?

ответ

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

Да, но когда я focusout это не изменит класс к fa-meh-o. Я должен снова сосредоточиться, чтобы сделать это с помощью этого кода. – sdvnksv

+0

@YevgenySimzikov см. Мой обновленный ответ –