不要なイベントハンドラーのオン/オフの削除で問題が発生しており、イベントバインディングをhtml要素のexpandoidで名前空間化したいと考えています。
function SomeWidget(el) {
$(document).on('handler.MY_EXPANDO_ID', this.handler.bind(this));
};
var widget = new SomeWidget($(sometargetelement));
一意の識別子がない場合の問題は、現在同じ名前空間を使用していることです。これは、同じ時間のウィジェットが2つあると失敗し、1つを削除すると、両方のオブジェクトのハンドラーが削除されます。
質問1)要素の内部エキスパンドIDにアクセスするにはどうすればよいですか?質問2)これを行うためのより良い方法はありますか?Function.bind!==関数。実際のメソッドポインタに基づいて削除することはできません。
jQuery1.8.3を使用しています