我对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>
问题在于,当一个值输入到第一个文本框中,然后返回/输入时,该按钮将获得焦点,并且会传递单击事件(在按钮上)。
作为测试,我添加了第二个文本输入框(如上所示)。添加第二个框后,当在第一个框中输入值时,焦点仍会直接转到按钮。
是什么导致焦点转到按钮并发出点击?这有什么解决方法吗?
答案 0 :(得分:5)
默认情况下,button元素被视为提交按钮,这可能是导致此问题的原因。为按钮元素指定属性类型=“按钮”。