页面加载让div元素获取焦点,通过键盘操作焦点切换,安卓电视遥控事件
2018-03-07 11:35
471 查看
背景 需求
最近项目中让写一个h5页面,通过遥控控制焦点的转移。查了查遥控事件上下左右enter的keyCode和键盘的上下左右enter是一样的。
代码
让非input元素获取焦点的方法,<div id="focusEle">页面加载让我自动获取焦点</div> js >: window.onload=function(){ let focusEle=document.getElementById("focusEle"); focusEle.focus(); }
键盘事件,等同于遥控的上下左右确定(亲测);
const handleKeyDown = (event) => { if (event.keyCode == 37 || event.keyCode == 'KEY_LEFT')// 左 { fun_left(event) } if (event.keyCode == 38 || event.keyCode == 'KEY_UP')// 上 { fun_up(event) } if (event.keyCode == 39 || event.keyCode == 'KEY_RIGHT')// 右 { fun_right(event) } if (event.keyCode == 40 || event.keyCode == 'KEY_DOWN')// 下 { fun_down(event) } if (event.keyCode == 13 || event.keyCode == 'KEY_ENTER')// enter { fun_enter(event) } }
推荐
关于焦点的较好的博客。后续添加
如果页面是动态生成的,当我在window.onload事件中获取页面初始元素时window.onload=function(){ console.log(document.body); //<body> // <div id="focusEle">初始时focus元素<div/> //</body> document.getElementById("focusEle");//null }
因为该页面仍然处于异步状态,相关资源仍未就绪,虽然console出了该元素 但是dom操作仍不可进行
解决办法:
//在js脚本加载时 设置定时器 setTimeout(function () { getDOM(); }, 0); function getDOM() { focusEle = document.getElementById("focusEle"); if (focusEle) { focusEle.focus(); } }
相关文章推荐
- selenium常用命令之操作页面元素及获取元素内容的事件整理
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
- 基于HtmlUnit获取页面及复选框元素、单击事件操作
- swing jtable 单元编辑事件(包括通过键盘获取焦点后编辑和鼠标双击后进入编辑状态)
- jsp页面加载时文本框通过js获取焦点
- Android 真机,微信打开 H5,切换到 webview,能通过 webdriver 方法操作页面元素,然后链接到新的 H5 页面后,无法操作元素,appium 服务器没有收到 response,
- selenium常用命令之操作页面元素及获取元素内容的事件整理
- js通过事件获取页面元素对象-适用于IE、FireFox
- 安卓TimePicker在当前页面通过按键事件切换焦点的方法
- JavaScript DOM(一)--页面加载完成事件与获取元素节点
- js 获取当前焦点所在的元素、给元素和input控件添加键盘监听事件、添加页面级的键盘监听事件
- Javascript获取页面标签元素操作
- HTML标签元素添加获取焦点事件
- ButterKnife 加载控件 + xUtils 获取数据+ Fresco 显示图片 + 通过事件分发控制移动 + 通过AIDL获取数据
- 今日笔记之 页面跳转 为tableview添加手势关闭键盘 textview获取焦点
- 在Wordpress的文章页面获取上一页及下一页的链接URL地址,实现通过键盘的前进后退键进行翻页
- 让div span等元素能响应键盘事件
- js 委派(元素异步加载到页面后点击事件)
- js键盘事件监听,给页面操作添加快捷键,提高用户体验效果。
- 安卓点击键盘外侧不会获取焦点