Ввод не фокусируется в Opera 54.0 - PullRequest
0 голосов
/ 30 августа 2018

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

Мой код здесь (и в эта скрипка ):

function Validate(){
  var element=document.getElementById('test-input');
  if(element.value=="")
  {
    alert("Please complete the field!");
    element.focus();
  }
}
<input id="test-input"/>
<input type="button" value="Click" onClick="Validate();"/>

1 Ответ

0 голосов
/ 30 августа 2018

На самом деле он работает в Opera 55.0, но он не мигает курсором. Если вы начинаете печатать сразу после сообщения, оно начинается с поля с фокусом. Вы можете добавить немного стиля к полю, красную рамку вокруг него или другой визуальный эффект, чтобы приспособить это.

--- обновление ---

Возможно, что работа над полем, как я делал в той скрипке, которая теперь исчезла, после завершения диалога, чтобы увеличить осведомленность Opera о фокусе:

Как это:

function Validate(){
   var element=document.getElementById('test-input');
   if(element.value=="")
   {
      window.alert("Please complete the field!");
      element.style.border = "solid 1px red";
      element.focus();
   } else {
      element.style.border = "";
   }
}
...