事件目标

点击下载教程相关资源

Video.js 中的事件设置模仿了对象上使用的 DOM API,但也有具有相同功能的有用速记函数。

on() 和addEventListener()

该函数用于向 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'

off() 和 removeEventListener()

该函数用于从 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

one()

该函数用于只调用一次事件监听器,而不再调用。

使用 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

trigger() 和 dispatchEvent()

该函数用于在 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
说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号