保存一个全局变量,用来记录Button的焦点状态
<button onclick="login();" onfocus="window.buttonIsFocused=true;" onblur="window.buttonIsFocused=false;">登录</button>
然后,在keydown回调中增加一次校验就可以了:
document.onkeydown = function(event){ var e = event || window.event; //兼容ie switch(e.keyCode) { case 13: // enter 键 if (!window.buttonIsFocused) login(); // login()是封装登录的方法 break; } };