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