vue-epg , 电视遥控器控制web 页面焦点

2023-11-23 19:21

本文主要是介绍vue-epg , 电视遥控器控制web 页面焦点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求:  电子看板, 菜单可以通过遥控操作切换;

项目本是基于 vue 构建的, 找了很久,通过 Google 才找到的, vue-epg

文档地址: https://www.kancloud.cn/koala-gc/vue-epg/758916

简单的使用方法直接摘过来:

1. 安装依赖

npm install vue-epg --save

2. main.js 中加入

// import {VueEpg} from 'vue-epg'  //引入组件
import VueEpg from 'vue-epg'  //作者文档是按照上面那样写的,不行//定义并实例化 VueEpg 
const epg = new VueEpg({focus_class:'focus',group_name:'.group',actions:['number'], //自定义的方法,在 组件中需指定,名称对应大写的 KeyActions 的Key 如 number 对应  NUMBERsetKeyBoardEventListener: service=> {//这里设置各事件监听//方向 上下左右必须监听  可绑定多个值 document.addEventListener("keydown", event => {const keyCode = event.keyCode ? event.keyCode : event.charCode ? event.charCode : event.which;service.keyActions.UP.push(...[19,38]) //数组中的值响应 按下上键的事件service.keyActions.DOWN.push(...[20,47,40])service.keyActions.LEFT.push(...[29,21,37])service.keyActions.RIGHT.push(...[22,32,39]) service.keyActions.ENTER.push(...[73,66,23]) //类似Click 点击service.keyActions.BACK.push(...[4,27])service.keyActions.NUMBER=[49,50,51,52,53,54,55,56,57,48,96,97,98,99,100,101,102,103,104,105] //绑定为数字键service.eventHandler(keyCode) //注册响应})}//vue 绑定 epg 实例
Vue.use(epg)//配置结束

3. 页面中使用

// template 其中主要是 加入 "v-item" 指令,即可定义焦点
<divv-itemsv-for="(item, key) in menus"class="card":tabindex="key + 1":id="'card'+key":key="key"@click="$router.push(`/board/${key}`)">// css 这里的类名需要和 main.js 中的 focus_class 对应,即聚焦时的样式.focus {transform: scale(1.05);outline: 5px solid #00bd55;}

4. 效果: 电视机上实测 chrome浏览器下遥控器切换焦点正常

 

*** 期间还找到另外一个, 以后有空可以试试, 看起来写法是模仿 vue的, 不知道能不能结合起来, 看起来略麻烦 https://zexiplus.github.io/tvvm/pages/doc.html#focus-control

这篇关于vue-epg , 电视遥控器控制web 页面焦点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420170

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo