今天一测试同事遇到如下问题:
页面上有几个文本控件,当不同的控件获取焦点后,触发的回车事件不同,以下是一个demo。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<input type="text" id="txtname" value="123" />
<br />
<input type="text" id="txtid" value="abc" />
<script type="text/javascript">
//定义回车事件
if (document.addEventListener) {//如果是Firefox
document.addEventListener("keypress", fireFoxHandler, true);
}
else {
document.attachEvent("onkeypress", ieHandler);
}
function fireFoxHandler(evt) {
//alert("firefox");
if (evt.keyCode == 13) {
submitForm(); //你的代码
}
}
function ieHandler(evt) {
//alert("IE");
if (evt.keyCode == 13) {
submitForm(); //你的代码
}
}
function submitForm() {
var id = document.activeElement.id;
var txt = document.getElementById(id).value;
alert(txt);
}
</script>
</body>
</html>