IE8提供焦点,并在更新文本字段时单击按钮

Phi*_*Din 1 html internet-explorer-8

我对IE8有一个非常奇怪的问题; 我已经尽可能地减少了以下摘录:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">         
            function dismissOperation() {
                alert("Would dismiss");
            }                
        </script>
    </head>
    <body >
        <input type="text" />
        <input type="text" onfocus="alert('text box got focus')" />
        <button onclick="dismissOperation()" onfocus="alert('Dismiss button got focus')">Dismiss</button>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

问题是,当一个值输入到第一个文本框中,然后返回/输入时,该按钮将获得焦点并传递click事件(在按钮上).

作为测试,我添加了第二个文本输入框(如上所示).添加第二个框后,当在第一个框中输入值时,焦点仍会直接转到按钮.

是什么导致焦点转到按钮并发出点击?这有什么解决方法吗?

小智 5

默认情况下,按钮元素被视为提交按钮,这可能是其原因.为按钮元素指定属性类型="按钮".