html事件焦点不起作用

时间:2016-10-27 11:30:34

标签: javascript html

<body onload="getfocus()">
<input id='txt1' />
<input type="button" onblur="getfocus()" value="Test"/>
<script>
function getfocus(){
    document.getElementById("txt1").focus();    
}
</script>
</body>  

在上面的代码中,getfocus()在body onload上按预期工作,但onBlur按钮它没有按预期工作,即txt1没有得到焦点。

亲切的,让我知道为什么txt1没有专注于&#39; onblur&#39;事件

2 个答案:

答案 0 :(得分:2)

您需要向tab-index添加#txt1属性,否则您的浏览器会选择 out 文档(我使用Chrome浏览器转到地址栏)。

<body onload="getfocus()">
    <input id='txt1' tab-index="1" />
    <input type="button" onblur="getfocus()" value="Test"/>
    <script>
        function getfocus(){
            document.getElementById("txt1").focus();    
        }
    </script>
</body>  

顺便说一句,您会注意到如果您在第二个之后添加另一个任意的第三个input,它也将开始工作。

答案 1 :(得分:1)

修改

尝试在按钮上的onblur='getfocus()#txt添加onclick="getfocus()"

似乎tab-index='1'效果很好。

&#13;
&#13;
<body onload="getfocus()">
  <input id='txt1' tab-index='1' onblur='getfocus()' />
  <input type="button" onclick="getfocus()" value="Test" />
  <script>
    function getfocus() {
      document.getElementById("txt1").focus();
    }
  </script>
</body>
&#13;
&#13;
&#13;