功能要求: 鼠标按下事件中,设置了一个定时器,执行一段子函数
function main(e)
{
    //这里e.type可以获取,显示mousedown
    var timer = function()
    {
        //var e = event||window.event      这样获取不到e了, e.type提示错误,找不到成员
    }.delay(3000);
}

解决方案 »

  1.   

    function main(e)
    {
        //这里e.type可以获取,显示mousedown
        var timer = function()
        {
            //var e = event||window.event      这样获取不到e了, e.type提示错误,找不到成员
        }.delay(3000);
    }外层函数的e存在时因为e是作为参数传递进来的,内层函数的e是局部变量,更有event没有定义,如果全局变量没有声明event的话你的代码就会报错提示event未定义
      

  2.   

    event是全局对象~.不需要声明.在这里,怎么才能在子函数中获取到event对象呢? 我试过传参,虽然用typeof显示是对象,不是null,但是e.type还是获取不到,没有任何可显示的对象属性.
      

  3.   

    function main(e) { //这里e.type可以获取,显示mousedown
    e = e||window.event ;
    setTimeout(function(){alert(e);},100);}
      

  4.   


    e在这里确实是个object; 但是e.type出错"找不到成员". 它没有任何可显示的对象属性.
      

  5.   


    顶一下, 子函数中使用event,总提示 缺少对象 错误,该怎么做才能在子函数中获取event对象呢? 大家帮忙看看,谢谢了.