2014-09-24 40 views
1

有沒有辦法在MediaElementPlayer對象初始化後添加事件監聽器?我想根據需要逐步添加偵聽器,而不是在每次需要添加新偵聽器時重新創建播放器。例如:在創建後添加MediaElement.js事件監聽器

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.success(mediaElement, domObject)功能。

回答

0

正如您other question說,有關訪問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'); 
}); 
+0

感謝爲您的答案。這個不適合我 - 正如我在另一個問題中所評論的那樣,我無法讓DOM偵聽器正常工作,我認爲他們不會爲回退工作。我現在每次都重新創建mejsplayer。 – bdunn 2014-10-03 17:52:42