layui的layer.confirm如何获取按钮焦点

 更新时间:2023年11月20日 10:04:27   作者:ok060  
因为ayer.confirm的按钮并非采用button,而是a标签,所以获取按钮焦点获取不到,要采用别的方法,下面介绍在ie11中和ie8中不同的写法,对layui layer.confirm获取按钮焦点相关知识感兴趣的朋友一起看看吧

因为ayer.confirm的按钮并非采用button,而是a标签,所以获取按钮焦点获取不到,要采用别的方法,下面介绍在ie11中和ie8中不同的写法

在ie11中

layer.confirm('确定取消这个弹窗吗?',{
	 btn: ['确定', '取消'],
	 success:function(layero){
         //获取焦点
         var btn = layero[0].getElementsByClassName('layui-layer-btn')        
         [0].getElementsByTagName('A')[0];    
         btn.href = 'javascript:void(0)';
                btn.focus();
            },
			title:"提示"
		},function(index){
			layer.close(index);
			//你的操作
		});
	})

在ie8中不支持getElementsByClassName方法,我们需要对它做额外的处理

layer.confirm('确定取消这个弹窗吗?',{
	 btn: ['确定', '取消'],
	 success:function(layero){
         //获取焦点
         var btn = getElementsByClassName('layui-layer-btn')        
         [0].getElementsByTagName('A')[0];    
         btn.href = 'javascript:void(0)';
                btn.focus();
            },
			title:"提示"
		},function(index){
			layer.close(index);
			//你的操作
		});
	})

重写getElementsByClassName方法

var getElementsByClassName = function (searchClass, node,tag) {
  var result = [];
            node = node || document;
            tag = tag || "*";
            var classes = searchClass.split(" "),
            elements = (tag === "*" && node.all) ? node.all: node.getElementsByTagName(tag),
            patterns = [],
            current,
            match;
            var i = classes.length;
            while (--i >= 0) {
                patterns.push(new RegExp("(^|\\s)" + classes[i] + "(\\s|$)"));
            }
            var j = elements.length;
            while (--j >= 0) {
                current = elements[j];
                match = false;
                for (var k = 0,
                kl = patterns.length; k < kl; k++) {
                    match = patterns[k].test(current.className);
                    if (!match) break;
                }
                if (match) result.push(current);
            }
            return result;
  }

 后种方法是兼容的不怕麻烦的可直接采取后种方法

到此这篇关于layui的layer.confirm获取按钮焦点的文章就介绍到这了,更多相关layui layer.confirm获取按钮焦点内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Echarts Bar横向柱状图实例代码

    Echarts Bar横向柱状图实例代码

    柱状图主要用于表示离散数据的频数,也是一种基础可视化图,这篇文章主要给大家介绍了关于Echarts Bar横向柱状图的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • 前端axios下载excel文件(二进制)的处理方法

    前端axios下载excel文件(二进制)的处理方法

    新接了项目,遇到这样的需求,通过后端接口下载excel文件,后端没有文件地址,返回二进制流文件。接下来通过实例代码给大家分享前端axios下载excel文件(二进制)的处理方法,一起看看吧
    2018-07-07
  • webpack自动刷新浏览器源码解析

    webpack自动刷新浏览器源码解析

    Webpack自动刷新浏览器是一项非常实用的功能,它可以让开发者在编辑代码时,自动更新浏览器,从而节省大量的时间。那么它是如何实现的呢?
    2023-02-02
  • uniapp多选框全选功能的实现思路与方法实例

    uniapp多选框全选功能的实现思路与方法实例

    uniapp给我们提供了tabs组件进行单项的切换,但是多选的效果需要我们自己去手写,下面这篇文章主要给大家介绍了关于uniapp多选框全选功能实现思路与方法的相关资料,需要的朋友可以参考下
    2022-08-08
  • javascript分页代码(当前页码居中)

    javascript分页代码(当前页码居中)

    昨天看了妙味课堂的 分页视频教程,今天自己参照其思路,自己写了下,并且自己新增了一个显示页码个数的属性 showPageNum
    2012-09-09
  • JavaScript可否多线程? 深入理解JavaScript定时机制

    JavaScript可否多线程? 深入理解JavaScript定时机制

    JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感
    2012-05-05
  • 比JSON.stringify快两倍的fast-json-stringify性能对比分析

    比JSON.stringify快两倍的fast-json-stringify性能对比分析

    这篇文章主要为大家介绍了比JSON.stringify快两倍的fast-json-stringify性能对比分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • JS字符串处理实例代码

    JS字符串处理实例代码

    这篇文章介绍了JS字符串处理实例代码,有需要的朋友可以参考一下
    2013-08-08
  • 微信小程序常见的两种登录方式详解

    微信小程序常见的两种登录方式详解

    这篇文章主要介绍了微信小程序常见的两种登录方式,一种基于手机号码进行登录,另一种是使用用户在公众号下的唯一标识进行登录,需要的朋友可以参考下
    2024-05-05
  • 仿淘宝首页分类列表效果实现代码

    仿淘宝首页分类列表效果实现代码

    模板淘宝首页的分类列表效果,17173的游戏分类效果也不错。
    2009-04-04

最新评论