晓得原理,但是实在想不出办法来。
想写个获得event的方法
var getEventTarget = function(){
if(window.event){
return window.event;
}else{
var e = arguments.callee.caller;
while(e.caller!=null){
e = e.caller;
}
 return e.arguments[0];
}
}
function aa(){
var e = getEventTarget();
}
onclick="aa()"这样监听倒是可以
但是如果
document.onclick = function bb(){
var e = getEventTarget();
}
就不行大神求助

解决方案 »

  1.   

    document.onclick = function (event){
    event=event||window.event;
    }
      

  2.   

    ++
    想复杂了 没意义根本document.onclick = function bb(e){
    var e = getEventTarget(e);
    }
    试试?
      

  3.   

    var getEvent = function(){
    return window.event || arguments.callee.caller.arguments[0];
    }
    document.onclick = function bb(){
    var e = getEvent();
    alert(e);
    }
      

  4.   

    不想传参啊  就想直接调用方法  然后获得event
      

  5.   

    这个是在onclick方法里面调用bb()?
      

  6.   

    看来你连最根本的东西都没搞清楚。。document.onclick = function bb(){}是把bb函数的引用赋值给document对象的onclick属性,此时document.onclick指向bb这个函数,当我们点击页面时,就会触发click的,浏览器就会调用document.onclick指向的函数并执行,也就是执行了bb(),明白吗?
      

  7.   


    <script language="javascript">
    var GetEvent = function(){
    if( window.event ){
    return window.event
    }else{
    var aFunction = function(dArguments, dLevel){
    if ( !dArguments ) return null
    if ( !dLevel ) return null
    for ( var i = 0; i < dArguments.length; i++ ){
    if ( dArguments[i] && dArguments[i].altKey !== undefined ) {
    return dArguments[i]
    }
    }
    if ( dArguments && dArguments.callee && dArguments.callee.caller && dArguments.callee.caller.arguments ) {
    return aFunction(dArguments.callee.caller.arguments, 5-1)
    }
    }
    return aFunction(arguments, 5)
    }
    }
    document.onclick = function(){
    var aEvent = GetEvent()
    alert(aEvent)
    }
    </script>
      

  8.   

    js学没多久  各种写法不是很清楚
    等于就是var bb = function(){...},onclick = bb;
    这样是吧
      

  9.   

    js各种写法不怎么清楚
    这就跟var bb = function(){...},onclick = bb;
    差不多是吧
    ff浏览器不是自动创建onclick方法的么,如果onclick指向bb的话还是会传入event啊?
      

  10.   

    要我说几遍啊,onclick只是一个属性,而document.onclick = bb是一个赋值语句,在赋值语句执行前,document.onclick的值为null
    firefox不是自动创建onclick方法,而是会自动将event对象作为参数传入onclick指向的处理函数中。。