функция onblur не работает в Google chrome и firefox

#javascript #jquery #model-view-controller

Вопрос:

Я работаю над приложением mvc. Во время разработки у меня возникла очень странная проблема, у меня есть три текстовых поля, и на каждом из них мне нужно вызвать событие onblur. когда я выполняю код, событие вызывается только для первого текстового поля, а не для второго, и для третьего текстового поля снова вызывается событие . Вот мой код

 <html>
  <head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script>
     $(document).ready(function(){  
        $("#a1,#a2,#a3").blur(function(){
        alert("This input field has lost its focus.");
        });  
     });
  </script>
  </head>
  <body>

    Enter your name: <input type="text" class="c1" id="a3">
    <br><input type="text" class="c1" id="a1">
    <br><input type="text" class="c1" id="a2">
    <p>Write something in the input field, and then click outside the field to lose focus (blur).</p>

 </body>
</html>
 

Комментарии:

1. Кажется, это работает? jsfiddle.net/ope79u3k

2. не отлаживайте с предупреждением, используйте console.log($(this).attr('id')) свое зрение, оно отлично работает

Ответ №1:

Я думаю, что в вашем браузере/песочнице может произойти некоторая блокировка предупреждения, но onblur все работает нормально (попробуйте просто войти в консоль, для чего вы в данный момент показываете предупреждение).