document.getElementsByTagName('form')[0].onkeydown = function(e){var e = e || event;var keyNum = e.which || e.keyCode;return keyNum==13 ? false : true;};
在web开发中,通常有按回车键提交表单的情况,我们一般是写个onkeydown事件,然后在函数中进行相应处理,如果是回车键,则提交,代码如下:
<html>
<head>
<mce:script type="text/javascript"><!--
var enterSubmit = function(){
if(event.keyCode==13){
alert("开始提交!");
}
}
// --></mce:script>
</head>
<body>
<form action="http://www.baidu.com">
<input type="text" value="按回车提交支持FireFox" onkeydown="enterSubmit()"/>
<input type="text" style="display:none" mce_style="display:none"/>
</form>
</body>
</html>
可是,FireFox并不捕获回车事件,所以要解决该兼容性问题,通常需要单独注册个事件,代码如下:
<html>
<head>
<mce:script type="text/javascript"><!--
window.onload = function(){
var usernameobj = document.getElementById("usernameobj");
function addEvent(el,evtType,fn) {
if (el.addEventListener) { //FF
el.addEventListener(evtType,fn, false);
return;
}else if(el.attachEvent) { //IE
el.attachEvent("on" + evtType,fn, false);
return;
}
}
function enterSubmit(evt){
if(evt.keyCode==13){
alert("开始提交!");
}
}
addEvent(usernameobj,'keydown',function(evt){
enterSubmit(evt);
});
}
// --></mce:script>
</head>
<body>
<form action="http://www.baidu.com">
<input id="usernameobj" type="text" value="按回车提交支持FireFox" />
<input type="text" style="display:none" mce_style="display:none"/>
</form>
</body>
</html>
文章源自 设计联盟 www.DesignLinks.cn 中国最具影响力的创意设计综合网站