我有一个输入,我试图专注于点击事件,问题似乎只出现在Opera中,我认为是因为我在焦点调用之前有一个警报。
我的代码在这里(和this fiddle):
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();"/>
它实际上适用于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 = "";
}
}