Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建后添加MediaElement.js事件侦听器_Javascript_Mediaelement.js - Fatal编程技术网

Javascript 创建后添加MediaElement.js事件侦听器

Javascript 创建后添加MediaElement.js事件侦听器,javascript,mediaelement.js,Javascript,Mediaelement.js,有没有办法在MediaElementPlayer对象初始化后向其添加事件侦听器?我希望根据需要以增量方式添加侦听器,而不是每次需要添加新的侦听器时都重新创建播放器。例如: var mejsplayer = new MediaElementPlayer($("#mejsplayer"), mejsOptions); // Keep track of added event listeners var addedListeners = {}; function addEventListener(e

有没有办法在MediaElementPlayer对象初始化后向其添加事件侦听器?我希望根据需要以增量方式添加侦听器,而不是每次需要添加新的侦听器时都重新创建播放器。例如:

var mejsplayer = new MediaElementPlayer($("#mejsplayer"), mejsOptions);

// Keep track of added event listeners
var addedListeners = {};
function addEventListener(eventType, func) {
    if (addedListeners[eventType]) return;
    console.log("Adding listener " + eventType);
    addedListeners[eventType] = func;
    mejsplayer.addEventListener(eventType, func, false);
};
如果不可能,我希望得到一些反馈,说明每次重新创建播放器对象是否真的是件坏事,使用mejsOptions.successmediaElement和domObject函数设置侦听器。

正如您在关于访问MeJS属性的文章中所说的,您可以使用DOM元素来实现这一点:

$('#mejsplayer').bind('playing', function(e) { 
   console.log('bind - playing');
});

var player = document.getElementById('mejsplayer'); 
player.addEventListener('playing', function(e) {
   console.log('addEventListener - playing');
});

谢谢你的两个答案。这一个对我不起作用——正如我在另一个问题中所评论的那样,我无法让DOM侦听器正常工作,并且我认为它们不适用于回退。我现在每次都在重新创建mejsplayer。