点击下载教程相关资源
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