1

我对 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>

问题是当一个值输入到第一个文本框中然后返回/输入时,按钮接收焦点并传递点击事件(在按钮上)。

作为测试,我添加了第二个文本输入框(如上)。添加第二个框后,在第一个框中输入值时,焦点仍然直接指向按钮。

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

4

1 回答 1

5

默认情况下,按钮元素被视为提交按钮,这可能就是原因。为您的按钮元素提供属性 type="button"。

于 2012-10-12T12:55:46.733 回答