通过 javascript 删除或禁用浏览器的焦点边框
如果 dom 元素具有 tabindex 顺序的焦点,有人知道如何禁用或操作(在大多数浏览器中)dom 元素的虚线边框吗?
我想为焦点元素构建自己的样式,但使用现有功能会很棒,因为使用 tabindex 可以将 keydown 事件绑定到 dom 元素。
Does anybody know how to disable or manipulate the (in most browsers) dashed border of a dom-element if it has the focus in a tabindex order?
I want to build my own style for a focused element, but it would be great to use the existing feature, because with tabindex it is possible to bind keydown event to the dom-element.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
只需为您想要的具有
outline:none;
的元素制定 CSS 规则即可Just make a CSS rule for the elements you want that have
outline:none;
CSS技巧:
CSS trick:
在 Firefox 53.0 中,如果我使用建议的解决方案之一禁用大纲,Firefox 将显示默认解决方案。
但是,如果我使用空白颜色,它不会检测到轮廓被隐藏:
With Firefox 53.0, if I disable the outline with one of the proposed solution, Firefox displays the default one.
However, if I use a blank color, it doesn't detect that the outline is hidden:
经典方式是将outline设置为none:
但是,它在更高版本的浏览器或FireFox上不再起作用。
这个技巧对我有用:
哈哈。将来,如果它检测到透明,则只需替换为稍微高一点的透明度:
某些浏览器,它也是一个盒子阴影:
Classic way is set outline to none:
However, it didn't work anymore on higher version browser or FireFox.
This trick work for me:
LOL. In future, if it detected transparent, then just replace with a little tiny higher transparent:
Some browsers, it was a boxshadow too:
:focus state
- 将轮廓属性设置为0px纯透明;:focus state
- Set the outline property to 0px solid transparent;不要使用 CSS 禁用焦点: http://outlinenone.com/ 这会使用其他用户。
Don't use CSS disable focus: http://outlinenone.com/ This use other users.
使用 jQuery 你可以做
Using jQuery you can do