判断元素是否获得焦点以及用户是否在与页面交互

页面上DOM元素可以通过页面加载、用户的输入和调用focus方法等来获得焦点。

在HTML5中document对象新增了activeElement属性,这个属性会引用当前获得焦点的那个元素。

<html>
    <head>
        <meta charset='utf-8'/>
        <title>foo</title>
    </head>
    <body>
        <button id='btn'>click</button>
        <script>
            let btn = document.getElementById('btn');
            btn.focus();
            console.log(btn == document.activeElement); //true
        </script>
    </body>
</html>

需要注意的是,页面在加载完成后document.activeElement属性引用的是document.body。而文档加载时,document.activeElement属性的值为null

HTML5中还为document对象新增了一个hasFocus方法,可以用来判断页面是否获得了焦点。通过页面是否获得焦点则可知道用户是否在和页面交互。

猜你喜欢

转载自blog.csdn.net/hjc256/article/details/88723091
今日推荐