平方X 发表于 2016-7-1 17:58:01

下拉ul中第一个a被加上了边框

标题实在不知道怎么取。
discuz上面的导航,提取了css,在用的时候,第一个a被加上了边框。
当浏览器失去焦点后,又不显示了。而且,不同浏览器显示的颜色还不一样。
①初步找了一下,是css和bootstrap的冲突
②最后找了找(我才不说我是二分法一半一半的删的),找到
a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
③总结了一下,移上去的时候,discuz的js
function showMenu(v)
做了一堆乱七八糟的事,然后让第一个a获得了焦点,于是显示了样式。js做的事如下

        if(!menuObj.getAttribute('disautofocus')) {
                try{
                        var focused = false;
                        var tags = ['input', 'select', 'textarea', 'button', 'a'];
                        for(var i = 0; i < tags.length; i++) {
                                var _all = menuObj.getElementsByTagName(tags);
                                if(_all.length) {
                                        for(j = 0; j < _all.length; j++) {
                                                if((!_all['type'] || _all['type'] != 'hidden') && hasshow(_all)) {
                                                        _all.className += ' hidefocus';
                                                        _all.focus();
                                                        focused = true;
                                                        var cobj = _all;
                                                        _attachEvent(_all, 'blur', function (){cobj.className = trim(cobj.className.replace(' hidefocus', ''));});
                                                        break;
                                                }
                                        }
                                }
                                if(focused) {
                                        break;
                                }
                        }
                } catch (e) {
                }
        }

页: [1]
查看完整版本: 下拉ul中第一个a被加上了边框