当前位置: 首页 > news >正文

网站开发从什么学起方庄网站建设公司

网站开发从什么学起,方庄网站建设公司,保定市做网站公司地址电话,上海招聘网站建设keydown,keyup,keypress 事件默认是给页面上可以聚焦的元素绑定键盘事件,例如input输入框,点击输入框即代表聚焦在该元素上。那么想要给div或者其他不能聚焦的元素上使用键盘事件怎么处理呢?这里用到tabindex属性。 …

keydown,keyup,keypress

事件默认是给页面上可以聚焦的元素绑定键盘事件,例如input输入框,点击输入框即代表聚焦在该元素上。那么想要给div或者其他不能聚焦的元素上使用键盘事件怎么处理呢?这里用到tabindex属性。

它接受一个整数作为值,具有不同的结果,具体取决于整数的值:

  • tabindex=负值 (通常是 tabindex=“-1”),表示元素是可聚焦的,但是不能通过键盘导航来访问到该元素,用 JS
    做页面小组件内部键盘导航的时候非常有用。
  • tabindex=“0” ,表示元素是可聚焦的,并且可以通过键盘导航来聚焦到该元素,它的相对顺序是当前处于的 DOM 结构来决定的。
  • tabindex=正值,表示元素是可聚焦的,并且可以通过键盘导航来访问到该元素;它的相对顺序按照 tabindex
    的数值递增而滞后获焦。如果多个元素拥有相同的 tabindex,它们的相对顺序按照他们在当前 DOM 中的先后顺序决定。
<div class="key-even" id="editor" tabindex="-1">keyDown
</div>

添加上 tabindex 属性后,此时div表示可以聚焦,但是想要触发键盘事件还需要调用 dom 的 focus() 方法,表示页面聚焦在该元素上,这样就可以触发键盘事件了。

const dom = document.getElementById('editor')
dom.addEventListener('click', this.domClick(dom))
dom.addEventListener('keydown', this.keyDown)domClick(dom) {dom.focus()
},
keyDown(e) {console.log(e.keyCode)
}

绑定事件的方式可以改变,主要是讲述 tabindex 属性的用法及作用。

el-Cascader 源码解读:最后一张图片中,li中绑定的tabindex,使的li可以聚焦,

packages/cascader-panel/src/cascader-panel.vue

<template><div:class="['el-cascader-panel',border && 'is-bordered']"@keydown="handleKeyDown"><span>这个地址:element-ui/packages/cascader-panel</span><cascader-menuref="menu"v-for="(menu, index) in menus":index="index":key="index":nodes="menu"></cascader-menu></div>
</template>
    handleKeyDown(e) {console.log('操作键盘是这里---》', e.target)const { target, keyCode } = e;switch (keyCode) {case KeyCode.up:const prev = getSibling(target, -1);focusNode(prev);break;case KeyCode.down:const next = getSibling(target, 1);focusNode(next);break;case KeyCode.left:const preMenu = this.$refs.menu[getMenuIndex(target) - 1];if (preMenu) {const expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded="true"]');focusNode(expandedNode);}break;case KeyCode.right:const nextMenu = this.$refs.menu[getMenuIndex(target) + 1];if (nextMenu) {const firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex="-1"]');focusNode(firstNode);}break;case KeyCode.enter:checkNode(target);break;case KeyCode.esc:case KeyCode.tab:this.$emit('close');break;default:return;}},

packages/cascader-panel/src/cascader-node.vue
在这里插入图片描述

http://www.cairui.net.cn/news/520/

相关文章:

  • 网站首页几天做完做网站还要买服务器吗
  • 培训网网站源码微分销商城系统
  • 网站栏目结构优化柳州旅游网站建设
  • 东莞网站建设制作厂高端营销型企业网站建设
  • 网站编排类型我要自学网做网站
  • 做营销网站企业做个人网站的步骤
  • 360免费建站怎么样扬州推广公司
  • 如何利用网站来提升企业形象网站开发需要哪些知识和工具
  • 下列关于网站开发中网页上传服务营销包括哪些内容
  • 网站建设 中小企业在线效果图设计
  • 朗格手表网站wordpress缩略图题目文本链接
  • 2昌平区网站建设免费的网站推广怎么做效果好?
  • 天猫折扣店网站建设网上注册网站要钱吗
  • 石家庄网站设计工作室如何做线上销售和推广
  • 一个人只做网站的流程百度指数人群画像
  • 贵阳网站建设网站制作2022年7到8月份的十大新闻
  • 电子商务类网站设计nginx 搭建wordpress
  • cetos做网站wordpress数学插件
  • 梧州市网站建设移动互联网时代的渠道模式创新
  • 响应式科技公司网站模板临沂网站维护
  • 大型门户网站建设运营王也电脑壁纸
  • 有个做特价的购物网站销售型网站建设基本要素
  • wordpress网站科学主题机关单位网站安全建设
  • 建立网站账号违法行为数据库做企业网站的哪家好
  • 品牌网站建设1毛尖o2o指的是什么
  • 百度网站搜索量提高wordpress多站点插件
  • 三元桥做网站的公司百色建设厅网站
  • 购物网站怎么做项目简介广告设计专业术语
  • 如何注册申请chn网站seo神马网站推广器
  • 成品网站建站空间域名续费价格