あまり新しくないもの

新しさはそんなに求めず、自分のすきなことをやりたい人生だった

jQueryでイベント管理とかしている時にうっかり忘れるとハマるやつ

なにかDOMがあって、それに対してイベント監視しておいて、イベント発火時にそのイベントの情報をもとに色々と操作したいとき。

var $dom = $('.target_btn');

$dom.on('click', function(event) {
    var target = event.target;
    console.log(target); // undefined
});

って感じに生のjsと同じように直接eventのプロパティ取ってこようとすると、undedinedになる。

jQueryでイベント発火とかさせていた場合は、event.originalEventに生のjsの時と同じようにプロパティが入ってる。

var $dom = $('.target_btn');

$dom.on('click', function(event) {
    var oEvt = event.originalEvent,
        target = oEvt.target;
    console.log(target); // .target_btnなDOM
});

なので、こっちが正しい。

うっかり忘れて書いてるとハマる。