js高级程序设计--事件模拟

var event,event1;
    var btn=document.getElementById("myBtn");
    btn.onclick=function(){
        document.body.style.background="black";
    }
    if(client.browser.safari && client.browser.safari==2 ){
        event=document.createEvent("UIEvent");
        event.initEvent("click",true,true);
        event.view=document.defaultView;
        event.detail=0;
        event.screenX=0;
        event.screenY=0;
        event.clientX=0;
        event.clientY=0;
        event.ctrlKey=false;
        event.altkey=false;
        event.metakey=false;
        event.shiftKey=false;
        event.button=0;
        event.relatedTarget=null;
        btn.dispatchEvent(event);
    } else if(client.browser.ie){
        event=document.createEventObject();
        event.screenX=100;
        event.screenY=0;
        event.clientX=0;
        event.clientY=0;
        event.ctrlkey=false;
        event.altkey=false;
        event.shiftkey=false;
        event.button=0;
        btn.fireEvent("onclick",event);
    } else {
        //创建事件对象
        event=document.createEvent("MouseEvents");
        //初始化事件对象
        event.initMouseEvent("click",true,true,document.defaultView,0,0,0,0,0,false,false,false,false,0,null);
        //触发事件
        btn.dispatchEvent(event);
    }
 
 
    //模拟键盘事件
    var textbox=document.getElementById("myTextbox");
    if(client.browser.firefox){
        event1=document.createEvent("KeyEvents");
        event1.initKeyEvent("keypress",true,true,document.defaultView,false,false,false,false,65,65);
        textbox.dispatchEvent(event1);
    } else if(client.browser.ie){
        event1=document.createEventobject();
        event1.altKey=false;
        event1.ctrlKey=false;
        event1.shiftKey=false;
        event1.keyCode=65;
        textbox.fireEvent("okeypress",event1);
    } else {
        //创建一个通用事件
        event1=document.createEvent("Events");
        event1.initEvent("keypress",true,true);        //event1.initEvent(type,bubbles,cancelable);
        event1.view=document.defaultView;
        event1.altKey=false;
        event1.ctrlKey=false;
        event1.shiftKey=false;
        event1.metaKey=false;
        event1.keyCode=65;
        event1.charCode=65;
        textbox.dispatchEvent(event1);
    }
 
posted @ 2012-11-04 14:10  LukeLin  阅读(329)  评论(0编辑  收藏  举报