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

技术先进的网站建设公司电商培训

技术先进的网站建设公司,电商培训,wordpress 主题 图,微信商城分销系统一个父组件里面是有各个子组件的form表单组成的。 我想实现点击enter。焦点直接跳转到下一个表单元素。 父组件就是由各个子组件构成 子组件就像下图一样的都有个el-form的表单。 enterToTab.js let enterToTab {}; (function() {// 返回随机数enterToTab.addEnterListener …

一个父组件里面是有各个子组件的form表单组成的。

我想实现点击enter。焦点直接跳转到下一个表单元素。

父组件就是由各个子组件构成

子组件就像下图一样的都有个el-form的表单。

enterToTab.js

let enterToTab = {};
(function() {// 返回随机数enterToTab.addEnterListener = function() {if (window.__completeEnterBind__) return;window.addEventListener("keydown", enterCallback);window.__completeEnterBind__ = true;};enterToTab.removeEnterListener = function() {window.removeEventListener("keydown", enterCallback);window.__completeEnterBind__ = false;};function enterCallback(evt) {
//页面所有的formconst allForms = Array.from(document.querySelectorAll("form"));let currentIndex;//当前操作的表单的索引function getNextElement(field) {var form = field.form;//如果form.elements不存在就去寻找下一个最近的form元素if (form?.elements) {// 找到当前元素所在的表单const currentForm = form.closest("form");currentIndex = allForms.indexOf(currentForm);}for (var e = 0; e < form?.elements.length; e++) {if (field.className.includes("el-radio") &&field.querySelector("input") == form.elements[e]) {break;} else if (field == form.elements[e]) {break;}}if (form?.elements[e + 1] == undefined) {//当前表单的最后一个元素.下一个表单的第一个元素获取焦点if (allForms[currentIndex + 1]) {let next = allForms[currentIndex + 1].querySelector("input");if (next.type == "radio") {//单选框return next.parentElement.parentElement.focus();} else {return next.focus();}}} else {return form?.elements[e + 1];}}if (evt.keyCode === 13) {//document.all可以判断浏览器是否是IE,是页面内所有元素的一个集合var isie = document.all ? true : false;var key;var srcobj;// if the agent is an IE browser, it's easy to do this.if (isie) {key = event.keyCode;srcobj = event.srcElement; //event.srcElement,触发这个事件的源对象} else {key = evt.which;srcobj = evt.target; //target是Firefox下的属性}if (key == 13 &&srcobj.type != "button" &&srcobj.type != "submit" &&srcobj.type != "reset" &&srcobj.type != "") {if (isie) event.keyCode = 9;//设置按键为tab键else {var el = getNextElement(evt.target);if (el?.type != "hidden" &&!el?.disabled //nothing to do here.) {}else{while (el?.type == "hidden" || el?.disabled) el = getNextElement(el);}if (!el) {return false;} else if (el.type == "radio"||el.type=="select") {el.parentElement.parentElement.focus();} else {el.focus();}}}}}
})();
export default enterToTab;

 在各个子组件里面添加

import enterToTab from "@/utils/enterToTab";
mounted() {enterToTab.addEnterListener();
},
beforeDestroy() {enterToTab.removeEnterListener();
},
http://www.dtcms.com/wzjs/47878.html

相关文章:

  • 做卖车的网站有哪些网络优化行业的发展前景
  • wordpress 本地转移优化问题
  • 疾控网站建设宗旨和目的如何去做网络推广
  • 企业 网站备案株洲seo
  • macbook做网站绑定域名最新百度新闻
  • 广州做网站多贵州整站优化seo平台
  • 制作网站需要注意什么58网络推广
  • 建立网站例题厦门seo排名外包
  • 外贸类网站建设南京网站seo
  • 制作网站要多久设计案例网
  • 小程序搭建公司seo网络推广什么意思
  • 广告公司怎么做业务重庆的seo服务公司
  • 石家庄 做网站百度手机助手下载安卓
  • 阜宁县住房城乡建设局网站南京网站推广排名
  • wordpress 时间归档嘉兴seo外包
  • 组建一个网站网络推广引流方式
  • 公司网站建设哪个好搜索引擎营销的英文简称
  • 政府网站建设情况调查表网站运营一个月多少钱
  • wordpress模板网站app推广渠道在哪接的单子
  • 潍坊外贸网站建设站内seo是什么意思
  • 长泰县建设局网站原创文章代写
  • 做网络兼职网站有哪些互联网seo是什么
  • 手机网站菜单设计珠海优化seo
  • 在南昌市做网站到哪推广获客
  • 松江做公司网站百度推广培训班
  • 建设网站建设哪家便宜宁波seo外包推广平台
  • 北京微网站建设设计服务百度竞价推广流程
  • 网站文字编辑怎么做北京网站优化实战
  • 电子商务网站的建设流程图抖音的商业营销手段
  • 网站建设有没有做的必要青岛设计优化公司