(反省)event.targetのさすものを忘れるな

初歩的過ぎるミス
イベントオブジェクトのtargetプロパティで取れるのはイベントが発生したオブジェクトだ
必ずしもイベントリスナーを登録したオブジェクトとは限らない
AS3いじりたての頃に散々やったはずなんだけど

<ul>
<li id="btn"><div>ボタン</div></li>
</ul>
$("#btn").click( function(e){ 
   alert( $(e.target).attr("id")); // undefined
 }

マウスイベント受け取ったのがdivの場合、divのidをとろうとしてundefinedに

$("#btn").click( function(e){ 
    alert($(e.target).closest("li").attr("id")); // btn
 }

こっちは確実にliのidがとれる

AS3ではボタンにしたインスタンスのmouseChildren=falseにして、
ボタンの子がマウスイベントを受け取ること自体を防止するのが通例になってたから...
すっかり忘れてた。