私は次のことに興味があります...
jQueryを使用すると、カスタムイベント(例myevent
)を定義してトリガーできます。名前空間を追加することで、粒度のレイヤーを追加することもできます(例myevent.namesp
)。
名前空間に関係なく、同じ名前のすべてのカスタムイベントのイベントハンドラーを作成できるかどうかを知りたいです。
たとえば、次のコードがある場合:
$('input').on('myevent.namesp', function(e) {
alert('The immediate event fired');
});
$('body').on('myevent', function() {
alert('Caught the delegated event');
});
$('input').click(function() {
$(this).trigger('myevent.namesp');
});
'immediate event'は発生しますが、委任されたイベントハンドラーは発生しません(特定の名前空間を使用してバインドされていないため)。のようなことをすることは可能ですか
$('body').on('myevent.*', function() { /* Handler for all 'myevent' events */ });
このように使用.on()
することは不可能ですが、あなたはその考えを理解しています。
ここで例を見ることができます:http://jsfiddle.net/VwU68/