事件目标

点击下载教程相关资源

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
说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号