読者です 読者をやめる 読者になる 読者になる

以下斜め読んだ内容

pseudo translation of useful posts, book reviews, remarks,etc. twitter: feeddict

jQueryの.live()を使ったイベント委譲(Event Delegation)

  • #help-btnクリックしたら、openHelp()実行
  • #save-btnクリックしたら、saveDocument()実行
  • #undo-btnクリックしたら、undoChanges()実行

というコードをEvent Delegation使って実装。
Before:

document.onclick = function(event){
    //IE doesn't pass in the event object
    event = event || window.event;
    
    //IE uses srcElement as the target
    var target = event.target || event.srcElement;    

    switch(target.id){
        case "help-btn":
            openHelp();
            break;
        case "save-btn":
            saveDocument();
            break;
        case "undo-btn":
            undoChanges();
            break;
        //others?
    }
};
出典:Event delegation in JavaScript

After:jQuery使う

$("#help-btn").live("click",function(event){openHelp();});
$("#save-btn").live("click",function(event){saveDocument();});
$("#undo-btn").live("click",function(event){undoChanges();});