日期:2014-05-16  浏览次数:20380 次

关于回车触发按钮的单击事件
document.onkeydown = function (e) {
  var keycode = document.all ? event.keyCode : e.which;
  if (keycode == 13)
  { $("#login").click(); }
  } 
我使用以上方法实现了按下回车触发按钮的单击事件,但是这个页面上有另外一个按钮ID为“cancel”,功能是关闭当前页面。我的问题是如果这个“cancel”获得焦点我按回车将也会触发以上事件。如何让他不触发上面事件?

------解决方案--------------------
判断当前目标。。是否是$("#login").
------解决方案--------------------
if (keycode == 13)

都有id的话先判断当前触发那个
是登陆就
$("#login").click(); }
是cancel就return
}
或者直接写死按回车只执行登陆
------解决方案--------------------
直接捕获登陆页面的键盘事件当按回车只执行登陆方法执行完返回
------解决方案--------------------
方案一:
$("#cancel").keydown(function(e){
e.stopPropagation();
});

方案二:
把输入组件用form元素包围,form里再添加submit按钮,form中所有的input/select(除了TextArea不行)自动获得敲Enter就提交表单的功能

采纳了一定要给我点分数啊