1

是否可以禁用悬停时出现在 MediaElement 播放器上方的“mejs-time-float”元素(此处显示为 5:01)?

4

5 回答 5

2

简单地隐藏 span.mejs-time-float 并不能解决这个问题,因为它已经默认隐藏,并且当您将鼠标悬停在 span.mejs-time-total 上时会显示(使用 jQuery .show()):

total = controls.find('.mejs-time-total')

...

total
.bind('mousedown', function (e) {
    // only handle left clicks
    if (e.which === 1) {
        mouseIsDown = true;
        handleMouseMove(e);
        $(document)
            .bind('mousemove.dur', function(e) {
                handleMouseMove(e);
            })
            .bind('mouseup.dur', function (e) {
                mouseIsDown = false;
                timefloat.hide();
                $(document).unbind('.dur');
            });
        return false;
    }
})
.bind('mouseenter', function(e) {
    mouseIsOver = true;
    $(document).bind('mousemove.dur', function(e) {
        handleMouseMove(e);
    });
    if (!mejs.MediaFeatures.hasTouch) {
        timefloat.show();
    }
})
.bind('mouseleave',function(e) {
    mouseIsOver = false;
    if (!mouseIsDown) {
        $(document).unbind('.dur');
        timefloat.hide();
    }
});

实际禁用小工具提示功能的快速而肮脏的选项是删除上面的“mouseenter”绑定或直接在其后面添加以下内容:

total.unbind('mouseenter');

这将取消绑定 mouseenter 事件。

但这有点难看,因为您正在修改库,并且如果您更新了库,所有更改都将被删除。更好的方法是在初始化 MediaElement 播放器后简单地取消绑定:

$('video').mediaelementplayer({ 
... your options ...
});

$('.mejs-time-total').unbind('mouseenter');

现在悬停时不会出现小工具提示。

于 2013-04-04T16:00:14.730 回答
1

MediaElement 可以通过 CSS 换肤,因此您只需将其隐藏在 CSS 中即可。

.mejs-time-float{ 
    display: none;
}
于 2012-10-04T09:34:46.723 回答
1

将此设置为“显示:无”没有帮助,但如果你使用“!important”除此之外,似乎工作得很好,因为重要将覆盖jQuery添加的内联样式:

.mejs-time-float {
  display: none !important;
}
于 2013-11-15T10:48:46.767 回答
0

取消绑定 mouseeenter 可以解决悬停问题,但在某些浏览器中,当我们单击进度条时,我们仍然会看到时间浮动。我不认为这是理想的,但它可以工作,因为 jQuery .show() 不会触及可见性:

.mejs-time-float {
    visibility: hidden;
}
于 2013-04-10T18:17:05.547 回答
0

禁用在进度条中显示时间弹出窗口的工具提示:

$('video, audio').mediaelementplayer({

    enableProgressTooltip: false

});
于 2019-08-13T07:01:42.767 回答