如何在视频js中创建自定义按钮

2023-11-23

我想在视频 js 中创建自定义按钮,我已经尝试了很多事情,并且在应用时进行了大量搜索,但没有找到结果,我认为我的代码中有一些错误。

我已成功在视频 js 上设置我的播放器。

这是我的代码,我正在尝试添加自定义按钮。

<script>
$(document).ready(function(){
   var player = videojs('video1');    
   var myButton = player.controlBar.addChild('button', {
            text: "Press me",
            // other options
          });

   myButton.addClass("html-classname");
});
</script>

我还尝试使用此代码在播放器中添加按钮video js 组件文档。

<script>
    $(document).ready(function(){
       var player = videojs('video1');    
       var button = player.addChild('button');
       button.el();
    });
</script>

这是我的代码笔小提琴请纠正我做错了什么。


您创建新按钮的方式有效。该按钮已添加到控制栏(您可以在开发人员工具中看到),但不可见。

这是创建新按钮的更强大的方法。你可以在里面做任何你想做的事onclick功能。

function newButtonToggle () {

    videojs.newButton = videojs.Button.extend({
       init: function(player, options){
        videojs.Button.call(this, player, options);
        this.on('click', this.onClick);
       }
    });

    videojs.newButton.prototype.onClick = function() {
        //Add click routine here..
    };

     //Creating New Button
    var createNewButton = function() {
        var props = {
            className: 'vjs-new-button vjs-control',
            innerHTML: '<div class="vjs-control-content">' + ('New') + '</div>',
            role: 'button',
            'aria-live': 'polite', 
            tabIndex: 0
            };
        return videojs.Component.prototype.createEl(null, props);
    };

    //Adding the newly created button to Control Bar

    videojs.plugin('newButton', function() {
        var options = { 'el' : createNewButton() };
        newButton = new videojs.newButton(this, options);
        this.controlBar.el().appendChild(newButton.el());
    });

    //Now setting up Player
    var vid = videojs("sampleVideo", {
        plugins : { newButton : {} }
    });           
}

newButtonToggle();

这是更新的codepen

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在视频js中创建自定义按钮 的相关文章

随机推荐

  • 减少 Angular 2 文件大小以进行部署

    我是新人 正在尝试 Angular2 我发现 dist 文件夹中的文件非常大 其中有一个由 Angular cli 创建的空项目 这是我采取的步骤 ng 新的我的项目 cd我的项目 ng 构建 prod And all the files
  • Java中聚合和组合的实现差异

    我知道聚合和组合之间的概念差异 有人可以通过例子告诉我它们在Java中的实现差异吗 作品 final class Car private final Engine engine Car EngineSpecs specs engine ne
  • 如何在 WordPress 中删除作者库

    WordPress 中的标准作者链接如下所示 example com author johnsmith 我想删除author URL 的一部分 因此用户名位于根目录中 例如 example com johnsmith 我控制网站上的页面创建
  • Angular 2:类型错误:l_thing0 在 AppComponent@4:44 中的 [{{thing.title}} 中未定义

    我的应用程序中出现奇怪的错误 应该打印出来 thing title 来自对象 但它在控制台中显示错误 EXCEPTION TypeError l thing0 is undefined in thing title in AppCompon
  • 设置 TCP_NODELAY 是否会影响套接字两端的行为?

    我一直假设 Nagle 的算法在两个方向上影响套接字 并且该设置TCP NODELAY以某种方式通知远程端也关闭 Nagle 是这样吗 还是设置TCP NODELAY只影响调用端的行为吗 TCP NODELAY仅影响在其套接字上设置此选项的
  • 从一行字符串列表构建 SQL“where in”语句?

    我有一个 List Of String 它对应于我们数据库表上的 类型 我们正在使用 DB2 ADO NET 提供程序 我的最终查询需要如下所示 select from table where type in type1 type2 typ
  • 如何在 Google Chrome 扩展程序中生成可供下载的文件?

    我想生成一个 CSV 文件作为一些用户交互的结果 然后提示用户下载它 我怎样才能做到这一点 我不认为这在直接的 JS 中是可能的 但也许 Chrome 给了我一些更高的权限 您现在可以使用 HTML5File API下载文件 它仍在开发中
  • MySQL 连接表,其中表名是另一个表的字段

    我有5张桌子 1 个主要的和 4 个附加的 它们有不同的列 objects obj 手机 对象平板电脑 对象计算机 这是我的主表 对象 的结构 身份证 类型 名称 ETC 所以我想做的是将对象与其他 obj mobiles obj tabl
  • 防止僵尸.js 仅加载外部资源

    我在测试期间使用 Zombie js 从本地 Express 服务器加载页面 不幸的是 有一个脚本元素调用了 Google Analytics 如果可能的话 我想 优雅地 阻止此外部脚本而不阻止其他 本地 脚本加载 我知道 runScrip
  • 用于字符串元素的 JdbcTemplate IN 子句

    我正在使用NamedParameterJdbcTemplatefor where 子句元素和其中之一似乎是List
  • JQuery Mobile 检测到是否有互联网连接

    通过网络应用程序检测我的手机是否有互联网连接的最佳方法是什么 不需要为此编写任何代码 它是 HTML5 API 的一部分 检查值window navigator onLine 这将是false如果用户离线 http www whatwg o
  • 在Python中将字符串中的数字与单位分开

    我有包含数字及其单位的字符串 例如2GB 17 英尺等 我想将数字与单位分开并创建 2 个不同的字符串 有时 它们之间有空格 例如 2 GB 使用 split 很容易做到这一点 当它们在一起时 例如 2GB 我会测试每个字符 直到找到字母而
  • 如何(优雅地)确定 C# winforms 应用程序中是否需要代理身份验证

    我的用例是这样的 我想调用一个网络服务 如果我位于需要身份验证的代理服务器后面 我只想使用默认凭据 WebRequest DefaultWebProxy Credentials CredentialCache DefaultCredenti
  • 如何设置 JScrollPane 仅显示特定数量的行

    我只需要一个表来显示 3 行 这些行从数据库中获取前 3 个畅销产品 表已准备就绪 但表的很大一部分实际上是空的 除了 3 行之外 如何设置此滚动窗格的高度以匹配 3 行的高度 解决方案 table setPreferredScrollab
  • 如何将 ICS 会议自动添加到组织者的日历中?

    我们的 java 应用程序使用 ical4j 生成 ICalendar 文件 并将它们作为 HTML 电子邮件通知的一部分发送给用户 一些用户 会议的组织者 报告说 会议的 接受 拒绝 等按钮呈灰色且无法单击 该会议不会添加到组织者的日历中
  • 如何使用 YouTube API 获取视频时长? [复制]

    这个问题在这里已经有答案了 我想获取 Youtube 视频的时长 这是我尝试过的代码 vidID voNEBqRZmBc http www youtube com watch v voNEBqRZmBc url http gdata you
  • 来自 Google 的 ExpandableListView 示例

    我刚刚尝试了当前的 Google 示例ExpandableListiew 这个示例看起来非常简单且易于使用 但我想做的是说其中一个类别没有子级 我删除了所有子项 但问题是箭头仍然出现在当前行上 例如 假设我删除了所有 猫的名字 箭头仍然在那
  • 当 JOptionPane 窃取焦点时,JButton 保持按下状态

    我是 Swing 新手 我遇到了一个情况 我正在设计一个基于 xml 文件输入 元数据 动态呈现 GUI 组件的应用程序 现在 我的大多数 JTextFields 都设置了 InputVerifier 用于验证目的 每当存在无效输入时 输入
  • 如何以编程方式关闭/隐藏 Android 软键盘?

    我有一个EditText and a Button在我的布局中 在编辑字段中写入后 单击Button 我想在触摸键盘之外时隐藏虚拟键盘 我认为这是一段简单的代码 但是在哪里可以找到它的示例 您可以使用以下命令强制 Android 隐藏虚拟键
  • 如何在视频js中创建自定义按钮

    我想在视频 js 中创建自定义按钮 我已经尝试了很多事情 并且在应用时进行了大量搜索 但没有找到结果 我认为我的代码中有一些错误 我已成功在视频 js 上设置我的播放器 这是我的代码 我正在尝试添加自定义按钮