文本框中,回车键触发事件的js代码[多浏览器兼容]

  判断是否按下的为回车非常简单:

  

复制代码 代码如下:

  function EnterPress(){

  if(event.keyCode == 13){

  ...

  }

  }

  IE6的onkeypress会接受"回车事件",而onkeydown不会接受

  IE8的onkeypress不会接受"回车事件",而onkeydown会接受

  ...不用纠结于此,两个都写上吧

  

复制代码 代码如下:

  <input type="text" onkeypress="EnterPress()" onkeydown="EnterPress()" />

  但是,到了FF下面,又会出现矛盾.FF是onkeypress和onkeydown都接受"回车事件"的.

  同时,为了兼容FF下面能获得event,需要这样写:

  

复制代码 代码如下:

  function EnterPress(e){ //传入 event

  var e = e || window.event;

  if(e.keyCode == 13){

  ...

  }

  }

  那么,只要给任意的一个事件内传参数 event,另外一个不传参数,即可以让FF只执行一次了:

  

复制代码 代码如下:

  &<input type="text" onkeypress="EnterPress(event)" onkeydown="EnterPress()" />

  综上,兼容IE和FF:

  

复制代码 代码如下:

  <head>

  <script>

  function EnterPress(e){ //传入 event

  var e = e || window.event;

  if(e.keyCode == 13){

  document.getElementById("txtAdd").focus();

  }

  }

  </script>

  </head>

  <body>

  <input type="text" id="txtName" onkeypress="EnterPress(event)" onkeydown="EnterPress()" />

  <input type="text" id="txtAdd" />

  </body>

  --by:泡沫的幻想