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获取按钮焦点内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JS中如何让异步执行的方法同步执行

    JS中如何让异步执行的方法同步执行

    在写js的时候,很多时候都会遇到异步转同步的问题,下面这篇文章主要给大家介绍了关于JS中如何让异步执行的方法同步执行的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • js 表单提交后按钮变灰的实例代码

    js 表单提交后按钮变灰的实例代码

    这篇文章介绍了js 表单提交后按钮变灰的实例代码,有需要的朋友可以参考一下
    2013-08-08
  • ES6入门教程之变量的解构赋值详解

    ES6入门教程之变量的解构赋值详解

    这篇文章主要给大家介绍了关于ES6入门教程之变量的解构赋值的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ES6具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • IntersectionObserver API 详解篇

    IntersectionObserver API 详解篇

    这篇文章主要介绍了IntersectionObserver API 详解篇,需要的朋友可以参考下
    2016-12-12
  • JS中style属性

    JS中style属性

    JS中style属性...
    2006-10-10
  • 基于jQuery通过jQuery.form.js插件使用ajax提交form表单

    基于jQuery通过jQuery.form.js插件使用ajax提交form表单

    在jQuery Form插件可以让你很容易的使用AJAX提交Form表单,主要方法ajaxForm和ajaxSubmit负责收集表单元素的信息,管理提交进程。这两种方法都是可配置的,让你完全控制Form提交,本篇文章介绍基于jQuery通过jQuery.form.js插件使用ajax提交form表单,需要的朋友可以参考下
    2015-08-08
  • 动态统计当前输入内容的字节、字符数的实例详解

    动态统计当前输入内容的字节、字符数的实例详解

    这篇文章主要介绍了动态统计当前输入内容的字节、字符数的实例详解的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
    2017-10-10
  • JavaScript中常见获取元素的方法汇总

    JavaScript中常见获取元素的方法汇总

    本文向大家介绍了javascript中常见的3种获取元素的方法,分别是通过元素ID、通过标签名字和通过类名字来获取,并附上了示例,希望大家能够喜欢。
    2015-03-03
  • js实现简单模态窗口,背景灰显

    js实现简单模态窗口,背景灰显

    昨天中午做项目需要一个模态窗口,想起上一个公司的项目经理曾经做过一个比较牛的模态窗口,至今没用搞清楚实现原理,平时也没有时间去分析,试着自己做了一个,用了一天的时间终于完成了,给大家一起分享, 也希望高手多提意见。第一次在博客园上发文章,挺高兴的。
    2008-11-11
  • innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解

    innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解

    这篇文章主要介绍了javascript中的innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解,都是个人经验的总结,分享给大家,希望大家能够喜欢。
    2015-03-03

最新评论