• 技术文章 >web前端 >js教程

    使用JS取得焦点(focus)元素代码_javascript技巧

    2016-05-16 16:54:47原创612
    对于良好的用户体验来说,网站/web app的可访问性和可用性,以及功能 都是至关重要的。
    当我们的网站运行良好/体验很好的时候,用户是意识不到的,但我们做得不好时他们肯定会感觉到。 应用程序的可用性和可访问性的一个重要组成部分是输入焦点(focus)的处理,但这又是开发人员常常会忽视的一点。

    对输入焦点处理很差的一个例子: 在点击一个链接以后打开一个窗口,但却不将光标聚焦到窗口中的任何元素内。 甚至更糟的是: 聚焦到模态窗口中的某个元素,但在关闭以后焦点照样不返回。 理想情况下,在触发链接时会保存一个引用,然后将光标聚焦到新窗口,并在窗口关闭时把光标重新移回去。

    但假如你不知道输入光标现在在哪个元素上怎么办? 通过 document.activeElement 属性我们可以取得当前文档中获得焦点的元素!

    The JavaScript

    使用 document.activeElement 来查找当前选中的元素是很容易的事:
    复制代码 代码如下:

    var focusedElement = document.activeElement;

    /* 比如某个示例:
    var triggerElement = document.activeElement;
    myModal = new MyModal({
    onOpen: function() {
    this.container.focus();
    },
    onClose: function() {
    triggerElement.focus();
    }
    });
    */

    这个属性不仅在常规输入元素上可用,包括表单字段或 标签链接,而且只要设置了 tabIndex 属性的任意元素都是可用的。

    我喜欢 document.activeElement 的原因是,不需要使用事件监听或委托监听器来追踪记录下那个元素获得了焦点 —— 您可以随时获取这个属性。 当然在使用这样的特性之前你应该做大量的测试—— 是否在跨浏览器或竞态条件下出什么BUG。 总而言之,我对它很满意,觉得它非常可靠!
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:js中把JSON字符串转换成JSON对象最好的方法_javascript技巧 下一篇:jquery插件冲突(jquery.noconflict)解决方法分享_jquery
    PHP编程就业班

    相关文章推荐

    • 浅析Node中Express的错误处理中间件• 引用javascript文件要不要包含在script标签中• map在jquery中的用法是什么• 深入了解node​中怎么使用redis集群功能【配置详解】• 深入了解JavaScript引擎如何执行JS代码

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网