function customAjax(keywords, event, object){ $.ajax({
   type: "POST",
   url: "<%=basePath %>rs/tblcustomer.do?action=customNameAjax",
   data: 'keywords='+keywords,
   dataType:'json',
   success: function(msg){
alert(window.event.keyCode);
alert(event.keyCode);
     
   }
}); 

}网上有人说:这是JS闭包问题,可以设置一下全局变量来保存event对象即可解决! 
但是:
window.event本来就是全局变量吧,我在函数外部定义了全局变量,在ajax回调函数里面还是失效了取不到event。
网上说:event对象只在事件发生的过程中才有效。是不是经过ajax回调以后 那个事件已经失效了,所以event也失效了,那有没有解决办法呢,能不能模拟onlick呢
望大大们帮帮小弟,指明道路

解决方案 »

  1.   

    <script>
    function customAjax(keywords, event, object){ $.ajax({
    type: "POST",
    url: "<%=basePath %>rs/tblcustomer.do?action=customNameAjax",
    data: 'keywords='+keywords,
    dataType:'json',
    e:event,
    that:this,
    success: function(msg){
    var e = that.e || window.event;

    alert(e.keyCode);
    alert(e.keyCode);


      
    }
    }); 

    }
    </script>试试~·
      

  2.   

    楼上哪有一个that,应该是this吧,如果不指定CallbackContext则success和complete等地执行上下文就是传入的配置对象和原有的默认配置对象的合集。顶楼上