请参阅以下内容:

$('body').on('whyhellothere', function(){

    console.log('done...');

});

$('body').triggerHandler('whyhellothere');


该代码段返回:

done...


如果我们颠倒顺序:

$('body').triggerHandler('whyhellothere');

$('body').on('whyhellothere', function(){

    console.log('done...');

});


此代码段不返回任何内容。为什么会这样呢?

最佳答案

如果您在森林里大喊,然后我走了,我什么也听不到,对吗?

事件触发后,您正在注册事件处理程序。注册的处理程序只能侦听开始侦听后触发的事件。

这是简单的物理学:P

10-08 05:31