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获取按钮焦点内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
JavaScript可否多线程? 深入理解JavaScript定时机制
JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感2012-05-05比JSON.stringify快两倍的fast-json-stringify性能对比分析
这篇文章主要为大家介绍了比JSON.stringify快两倍的fast-json-stringify性能对比分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-12-12
最新评论