我很好奇以下...
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');
});
“立即事件”被触发,但委托的事件处理程序没有被触发(因为它没有使用特定的命名空间绑定)。是否可以做类似的事情
$('body').on('myevent.*', function() { /* Handler for all 'myevent' events */ });
我知道.on()
以这种方式使用是不可能的,但你明白了。
您可以在此处查看示例:http: //jsfiddle.net/VwU68/