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獲取按鈕焦點內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
layui 對table中的數(shù)據(jù)進行轉義的實例
今天小編就為大家分享一篇layui 對table中的數(shù)據(jù)進行轉義的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09使用javascript函數(shù)編寫簡單銀行取錢存錢流程
本文通過實例代碼給大家講解了使用javascript函數(shù)編寫簡單銀行取錢存錢流程,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-05-05淺談使用splice函數(shù)對數(shù)組中的元素進行刪除時的注意事項
下面小編就為大家?guī)硪黄獪\談使用splice函數(shù)對數(shù)組中的元素進行刪除時的注意事項。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12