懂得放弃,才会有新的收获!

javascript window的event 事件

By weisnet On 2009-05-04 At 20:25 View:747
假设要使用一个input button的事件
<input type='button' id='btna' onclick='func()' value='测试' />
 
function func()
{
     //返回input的ID
     var putID = window.event.srcElement.id;
     alert(putID);
}
 
但是这样写在firefox上错误的.
 
在firefox要这样写
<input type='button' id='btna' onclick='func(event)' value='测试' />
function func(evt)
{
     //返回input的ID
     var putID = evt.target.id;
     alert(putID);
}
 
2。兼容的写法是:
<input type='button' id='btna' onclick='func(event)' value='测试' />
 
function srcState(evt)
{
      var El = null;
      if (typeof evt != 'undefined')
      {
           if (document.all)
              El = evt.srcElement.id;
           else
              El = evt.target.id;
      }
      return El;
}
 
function func(evt)
{
     //返回input的ID
     var putID = srcState(evt);
     alert(putID);
}
 
3。最后一种写法(IE,Firefox都可以):
 
首先要在IE,Firefox上获取event事件

function SearchEvent()
{
    if(document.all)
        return window.event;
    func=SearchEvent.caller;

    while(func!=null)
    {
        var arg0=func.arguments[0];
        //alert(arg0);
        if(arg0)
        {
            //alert(arg0.constructor);
            if(arg0.constructor==MouseEvent || arg0.constructor==Event || arg0.constructor==KeyboardEvent) // 如果就是event 对象
                return arg0;
        }
        func=func.caller;
    }
    return null;
}

 

<input type='button' id='btna' onclick='func()' value='测试' />

function func()

{

     var evt = SearchEvent();

     var putID = srcState(evt);

     alert(putID);

}

·上一篇:div ,li 的高度 height 无法正常设定问题.
·下一篇:当setTimeOut方法调用函数的参数为对象类型时出错.

for this post

 
 

Leave a Reply

赶快抢个沙发坐坐!
请先 登陆  还没帐号

Hot Posts Powered by weiseditor

  • Add to Google

Friend links