想要的功能是:按下一个按钮,触发mainE函数,若干秒后执行拖动;我想要在拖动功能中使用event对象,但是现在获取不到它.代码简化如下:function mainE(e) 

var e = e||window.event ;
        var test = "Test";
alert(e)    //这里提示e是object; alert(test);提示"Test"
setTimeout(function(){alert(e);},1000);    //这里提示e是object; alert(test);提示"Test"
}
但是我想在拖动功能函数中使用e对象,就出错了,如下:function mainE(e) 

var e = e||window.event ;
        var test = "Test";
alert(e.type)    //这里e.type可以获取,提示: mousedown
setTimeout(function(){alert(e.type);},1000);    //出错:"找不到成员"
}请大侠们指点!谢谢了.

解决方案 »

  1.   

    试试这样呢
    function mainE(e) 

        var e = e||window.event ;
            var test = "Test";
        var tp = e.type;
        alert(e.type)    //这里e.type可以获取,提示: mousedown
        setTimeout(function(){alert(tp);},1000);    //出错:"找不到成员"
    }
      

  2.   

    这样肯定是可以的.它传相当于是e.type的字符串"mousedown"了. 但我想要在拖动函数中使用event对象.能获取它各个参数,比如event.x,event.y等等这些实时变化的值.该怎么办呢?
      

  3.   

    你这个mainE是怎么绑定的?
    我在ff下试了,可以的啊:
    function mainE(e) 

        var e = e||window.event ;
            var test = "Test";
        alert(e.type)    //这里e.type可以获取,提示: mousedown
        setTimeout(function(){alert(e.type);},1000);    //出错:"找不到成员"
    }
    $('#button1').click(mainE);
    我点button1,都正常
      

  4.   

    setTimeout(function(){alert(e);},1000);  中的 function(){alert(e);} 方法没有传递参数E,怎么能要求方法取得E呢?