javascript事件-3(イベント依頼と模擬事件)

2070 ワード

イベント依頼
//       
$(document).on('click',function(event){

   var id = event.target.id;
   switch(id){
     case 'btn1':
     //do something 
     break;
     case 'btn2':
     // do another
     break;

    }
})
//          
//click , mousedown , mouseup , keydown, keyup , keypress
 
イベントを削除
ブラウザのメモリを最適化するためには、イベントハンドラを削除する必要があります.
//           
document.onclick =null;
 
模擬事件
イベントの種類
UEvents,MouseEvents,MuttionEvents,HTMLEvents,
マウスのイベントをシミュレート
var event = document.createEvenet("MouseEvents");


//MouseEvent     
event.initMouseEvent("click".....);

var btn = document.getElementById("id");

//    
btn.dispatchEvent(event);
 
アナログキーボードイベント
var event = document.createEvent("KeyboardEvent");

event.initKeyboardEvent('keydown',true,true,document.defaultView,"a",0,"Shift",0);

var text  = document.getElementById("text");
text.dispatchEvent(event);
 カスタムDOMイベント
var event = document.createEvent("CustomEvent");

event.initCustomEvent(type,bubbles, cancelable,detail);


element.dispathEvent(event);

 
IEにおけるシミュレーションイベント
var event = document.createEventObject();

event.screenX = 100; 
evnet.screenY = 110;
...
...
//    
element.fireEvent(event);
 
12-29収穫
//      
//  break    
var len = arr.length ; 
for (var i = 0 ; i < len ; i ++){
     var json = arr[i];
     for(var key in  json){
              if(json[key] == 'abc'){

                  break ; 
                }
     }

}