//用这个方法判断event是在ie下运行还是在ff下运行了
function check(event)
{
evt = event ? event  : (window.event ? window.event : null); 
if (evt.keyCode == 13)
        {
          dl_continue();
        }

}
function dl_continue(){

  var user = document.getElementById('djk1');
  var user_id = user.value;
  var pwd = document.getElementById('dd1');
  var password = pwd.value;
  
  if(user_id == '') {
   ymPrompt.alert({message:'用户名不能为空!'});//打开一个自定义窗体
   ymPrompt.close();//关闭窗体
   dl_enter();
   user.focus();
   return false;
  }
}
如上,当我触发onkeydown="check(event)"的时候,正常运行到dl_continue,
以上代码在ie下可成功执行,不过,在ff下就不能执行了
查了一下,发现ff下是先执行后再触发事件的,怎么样才能让FF和ie按一样的顺序去执行以上代码呢??

解决方案 »

  1.   


    function check(event) 

    evt = event ? event:window.event;
    var key=evt.keyCode;
    if(key==0)
    key=evt.which;//for ff
    if (key == 13) 

    dl_continue(); 
    } } 
      

  2.   


    <script> 
    function check(event) 

    evt = event || getEvt(event);
    if (evt.keyCode == 13) 
            { 
            dl_continue(); 
            } }
    function getEvt(event){
    return event || window.event;
    }
    </script> 
      

  3.   

    .....回得好快,不过,还是不可以呀
    我在FF下ALERT   evt.keyCode
    当enter的时候是=13的
    执行得到dl_continue()不过,在dl_continue()中执行的顺序和IE的不一样谢谢你们~~
      

  4.   

    想了一下下,可能不是window.event的问题,我已经是处理了,应该不会出现这样的问题可是在开源的代码里没有改吧我也想发上来,可是那么多。。- -~谢谢你们,我去解决一下,可以的话就结贴了
      

  5.   

    本身event已经没有问题了,可能就是自定义函数内部的问题