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和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre