点击下载教程相关资源
Video.js 中的事件设置模仿了对象上使用的 DOM API,但也有具有相同功能的有用速记函数。
该函数用于向 EventTarget 添加事件监听器。
var foo = new EventTarget();
var handleBar = function() {
console.log('bar was triggered');
};
foo.on('bar', handleBar);
// 这将导致 "bar" 事件的任何 "事件监听器" 被调用,更多信息请参阅 {@link EventTarget#trigger} 。
foo.trigger('bar');
// logs 'bar was triggered'该函数用于从 EventTarget 中移除监听器函数。
var foo = new EventTarget();
var handleBar = function() {
console.log('bar was triggered');
};
// adds an `event listener` for the `bar` event
// see {@link EventTarget#on} for more info
foo.on('bar', handleBar);
// runs all `event listeners` for the `bar` event
// see {@link EventTarget#trigger} for more info
foo.trigger('bar');
// logs 'bar was triggered'
foo.off('bar', handleBar);
foo.trigger('bar');
// does nothing该函数用于只调用一次事件监听器,而不再调用。
使用 on() 和 off() 来模仿 one()(不建议使用)
var foo = new EventTarget();
var handleBar = function() {
console.log('bar was triggered');
// 在第一次触发后移除该处理程序
foo.off('bar', handleBar);
};
foo.on('bar', handleBar);
foo.trigger('bar');
// logs 'bar was triggered'
foo.trigger('bar');
// does nothing使用 one()
var foo = new EventTarget();
var handleBar = function() {
console.log('bar was triggered');
};
// 在第一次触发后移除
foo.one('bar', handleBar);
foo.trigger('bar');
// logs 'bar was triggered'
foo.trigger('bar');
// does nothing该函数用于在 EventTarget 上触发一个事件,该事件将导致所有侦听器运行。
注意:如果 EventTarget.allowedEvents_ 中有 "click",触发器将尝试调用 onClick 函数(如果存在)。
var foo = new EventTarget();
var handleBar = function() {
console.log('bar was triggered');
};
foo.on('bar', handleBar);
foo.trigger('bar');
// logs 'bar was triggered'
foo.trigger('bar');
// logs 'bar was triggered'
foo.trigger('foo');
// does nothing