2016-08-13 3 views
0
текстовых

enter image description hereНе вызывая .focusout() при переключении

Как вы можете вывести на изображении, которое я делаю очень простой журнал-формы. В div, содержащем это, есть два обработчика событий.

$("#signInBox").focusin(function(){ 
    jQuery('#signInBox').fadeTo("slow", 1); 
}); 
$("#signInBox").focusout(function(){ 
    jQuery('#signInBox').fadeTo("slow", 0.4); 
}); 

Проблема у меня, когда я меняю от электронной почты до пароля или наоборот, это вызывает .focusout() и .focusin(). Как я могу сделать свою форму не потерять фокус при переходе от одного текстового поля к другому?

+2

Разместите HTML или это невозможно знать, что я боюсь! –

+1

Почему бы не «сфокусировать» и «размыть»? – j08691

+0

^есть, почему бы не использовать более распространенные события? Кроме того, предполагается, что эти события будут происходить, когда входы потеряют и получат фокус, почему вы хотите что-то другое, какой прецедент? – adeneo

ответ

1

Проверьте, не срабатывает ли элемент зажигания в форме, используя .parent().length; залог, если да, то return ing. Смотрите этот пример для демонстрации:

$("input").focusin(function(event) { 
 
     if ($(event.target).parent('#form').length > 0) return; 
 

 
     console.log("Fired in"); 
 
    }); 
 
    $("input").focusout(function(event) { 
 
     if ($(event.target).parent('#form').length > 0) return; 
 

 
     console.log("Fired out"); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="form"> 
 
    <p>Part of the form - should not fire the console.log() on focusin and focusout</p> 
 
    <input type="text" /> 
 
</form> 
 

 
    <p><b>NOT</b> part of the form - <b>should</b> fire the console.log() on focusin and focusout</p> 
 
<input type="text" />

+0

Спасибо за ваш быстрый ответ, никогда не думал о проверке использования обработчика событий. Хотя с использованием этого кода я получаю Уволен в выпуске одновременно на каждом клике внутри формы – EChan42

+0

@ EChan42 Не проблема - не забудьте принять, когда вы можете :) –

Смежные вопросы