Javascript 如何删除多个mediaelement.js播放器?

Javascript 如何删除多个mediaelement.js播放器?,javascript,mediaelement.js,Javascript,Mediaelement.js,我需要“手动”从页面中删除多个mediaelement.js播放器 我试过了: video_player_1.remove(); video_player_2.remove(); video_player_3.remove(); ... if (mejs) { var players = Object.keys(mejs.players); players.forEach( function(player) { mejs.players[player].r

我需要“手动”从页面中删除多个mediaelement.js播放器

我试过了:

video_player_1.remove(); 
video_player_2.remove();
video_player_3.remove();
...  
if (mejs) {
    var players = Object.keys(mejs.players);
    players.forEach( function(player) {
        mejs.players[player].remove();
    });
}
mejs.players = {};
mejs = {};
(并以各种循环方式尝试上述操作,试图删除所有玩家。)

和:

video_player_1.remove(); 
video_player_2.remove();
video_player_3.remove();
...  
if (mejs) {
    var players = Object.keys(mejs.players);
    players.forEach( function(player) {
        mejs.players[player].remove();
    });
}
mejs.players = {};
mejs = {};
和:

video_player_1.remove(); 
video_player_2.remove();
video_player_3.remove();
...  
if (mejs) {
    var players = Object.keys(mejs.players);
    players.forEach( function(player) {
        mejs.players[player].remove();
    });
}
mejs.players = {};
mejs = {};
甚至:

video_player_1.remove(); 
video_player_2.remove();
video_player_3.remove();
...  
if (mejs) {
    var players = Object.keys(mejs.players);
    players.forEach( function(player) {
        mejs.players[player].remove();
    });
}
mejs.players = {};
mejs = {};
似乎没有什么能完全消除玩家和与他们相关的任何事件。当我导航回视频页面时,出现以下错误:

TypeError: 'undefined' is not a function (evaluating 'video_player_1.addEventListener')
还有其他人遇到过这个问题并找到了解决方案吗?谢谢你的帮助

编辑: 我应该注意的是,在创建每个播放器时,我向其添加了以下侦听器:

video_player_1.addEventListener('ended', function(event) {
    //Code that advances to the next video here ...
}
假设您使用,这可以正常工作:

var player = $('#player')[0].player;
player.remove();
在此基础上,这将删除视频元素上的所有MEJ实例:

(function($) {
    $(document).ready(function() {
        var mejs_players = new Array();
        var player;
        $('video').each(function() {
            player = $(this)[0].player;
            player.remove();
        });
    });
})(jQuery);

测试了最新代码后,删除功能应更改为

$('video').each(function() {
        player = $(this).data("mediaelementplayer");
        alert(player);
        player.remove();
    });

尝试从DOM中删除元素,并将player变量设置为nullHi@Hardy,我正在这样做。包含视频的“页面”通过$.load()加载,并使用$.empty()删除(这也会从DOM中删除元素)。