OnBlur стреляет несколько раз

1

Я использую onblur для проверки данных в текстовом поле. OnBlur работает нормально до тех пор, пока мы не нажмем кнопку ALT + TAB or windows button.

Если я нажал ALT + TAB функция размытия выполнялась несколько раз.

Например: https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_event_blur_alert

Первоначально он будет работать нормально, а затем нажмите alt + tab, после чего он будет выполняться несколько раз.

Пожалуйста, предложите, как решить эту проблему.

Следуйте нижеприведенным инструкциям для повторного выпуска проблемы.

  1. Нажмите на ссылку выше
  2. Сосредоточьтесь на текстовом поле, а затем нажмите alt+tab
  • 0
    Упомянутая ссылка показывает 1 предупреждение для обоих случаев. Можете ли вы создать фрагмент стека, который имитирует проблему?
  • 0
    @Rajesh Я упомянул шаги, чтобы воспроизвести проблему. Сфокусируйтесь на текстовом поле и затем нажмите alt + tab
Показать ещё 1 комментарий
Теги:

1 ответ

3

Это связано с тем, что вы вызываете предупреждение при размытии, когда вы нажимаете клавишу alt+tab он будет фокусироваться на другом окне, и когда вы нажмете на поле предупреждения, он снова сосредоточится на текстовом поле и вызовет пожар события. Это будет бесконечно. Вы должны избегать предупреждения здесь

$(document).ready(function(){
    $("input").blur(function(){
        console.log("This input field has lost its focus.");
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
Enter your name: <input type="text">
<p>Write something in the input field, and then click outside the field to lose focus (blur).</p>
  • 1
    Любое другое решение с alert ()?
  • 0
    если вы хотите подсказать сообщение, то вам нужно рассмотреть другую библиотеку для него и не использовать собственную подсказку.
Показать ещё 2 комментария

Ещё вопросы

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