You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止模态框中JWPlayer视频双击触发全屏?

解决JWPlayer模态框内禁止双击全屏的问题

当然有办法搞定这个需求!下面给你两种实用的方案,根据你的代码场景选择就行:

方案一:利用JWPlayer自身事件拦截双击

最直接的方式就是监听JWPlayer的dblclick事件,然后阻止它的默认全屏行为,精准针对播放器的双击操作:

// 初始化或获取你的JWPlayer实例
const player = jwplayer('your-player-id');

// 监听双击事件并阻止默认动作
player.on('dblclick', function(event) {
    // 阻止默认的全屏触发逻辑
    event.preventDefault();
    // 可选:阻止事件冒泡,避免影响其他元素
    event.stopPropagation();
});

⚠️ 注意:如果你的代码是在播放器初始化前写的,记得把这段逻辑放在JWPlayer的ready事件回调里,确保播放器已经加载完成:

player.on('ready', function() {
    player.on('dblclick', function(event) {
        event.preventDefault();
        event.stopPropagation();
    });
});

方案二:通过DOM容器拦截双击事件

如果不想修改播放器的初始化逻辑,也可以在模态框的视频父容器上拦截双击事件,不让事件传递到JWPlayer的视频元素上:

// 获取模态框中的JWPlayer容器(根据你的实际类名调整)
const playerContainer = document.querySelector('.modal-dialog .jwplayer');

// 给容器绑定双击事件,拦截默认行为
playerContainer.addEventListener('dblclick', function(e) {
    e.preventDefault();
    e.stopPropagation();
});

这种方式适合已经有现成播放器实例、不想改动播放器配置的场景,从DOM事件流的源头阻止双击触发全屏。

两种方案都能有效禁止用户双击视频进入全屏,你可以根据自己的代码结构选择最顺手的一种~

内容的提问来源于stack exchange,提问作者pac w

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:25:01