事件声明
on
注册一个事件;在这种情况下locationloaded
。并且由于locationloaded
是自定义事件,触发事件的唯一方法是通过该trigger
方法。
注册一个事件customevent
并附加函数locationloaded
$(document).on('customevent', locationloaded);
function locationloaded() {
console.log('The custom event is triggered inside the "locationlaoded" function');
}
触发事件:customevent
$(document).trigger("customevent");
反过来,记录消息The custom event is triggered inside the "locationlaoded" function
直接使用trigger
vs调用函数;IElocationloaded()
使用向DOMtrigger
广播一个事件被触发的消息。因此,任何监听事件的单独 javascript 文件都会立即通知
$(document).trigger('subscribe');
在同一个文件上$(document).trigger('subscribe')
$(document).on('subscribe', function() {
// Send email
});
在另一个 javascript 文件上
$(document).on('subscribe', function() {
// Save data
});
而直接调用已声明的函数仅允许在所调用方法的同一上下文中执行任何其他任务。
这就是为什么$(document).trigger('locationloaded
)` 在单独的文件中声明的原因,同时如果事件被触发和广播,那么另一个文件可以执行它的任务。