如何在HTML页面加载时聚焦元素?

如何在HTML页面加载时聚焦元素?

超文本标记语言HTML)是构建Web页面的基本组成部分,它定义了页面的结构。浏览器使用这种标记语言来操作文本、图片和其他内容的数据,以便以所需的格式显示。

超文本 是指连接Web页面的链接, 标记 定义了标签内的文本内容。

如何在HTML页面加载时聚焦元素?

我们希望在加载页面时,某个元素应该处于焦点状态。我们可以用 2种方法 实现:

  • 使用自动聚焦属性
  • 使用 window:load事件

让我们通过示例来探索这两种方法。

1. 使用自动聚焦属性

自动聚焦属性 是一个 布尔 属性,即它只能是true或false。当此属性存在于元素内部时,它指定该元素在页面加载时应自动获得焦点。

自动聚焦属性 只能在以下元素内使用:

  • <input>
  • <button>
  • <textarea>
  • <select>

    语法:

<elementName autofocus>

示例: 在这个示例中,每当页面加载时,输入元素获取焦点,并且我们可以通过输入的背景色改变为#8ecae6来看到它。

HTML

<!DOCTYPE html> 
<html> 
  
<head> 
    <title>Using autofocus attribute</title> 
    <link rel="stylesheet" href="style.css"> 
</head> 
  
<body> 
    <div> 
        <p>GeeksforGeeks</p> 
  
        <input type="text" placeholder= 
            "Hey Geeks, Type something here" 
            autofocus> 
    </div> 
</body> 
  
</html>

CSS

* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
} 
  
div { 
    margin: auto; 
    margin-top: 10px; 
    height: 100px; 
    width: 300px; 
    background-color: green; 
    text-align: center; 
    font-size: 24px; 
    font-family: Arial, Helvetica, sans-serif; 
} 
  
p { 
    padding-top: 15px; 
    color: whitesmoke; 
} 
  
input { 
    margin-top: 15px; 
    width: 75%; 
    color: black; 
    font-weight: bolder; 
} 
  
input:focus { 
    background-color: #8ecae6; 
}

输出:

如何在HTML页面加载时聚焦元素?

2. 使用 Window:load 事件: 在完整的页面加载完毕,包括样式表和图片之后,window 对象的 load 事件会被触发。现在页面已经加载完成,我们可以使用 HTMLElement.focus() 方法将焦点提供给我们的元素(如果它能够获取焦点)。默认情况下,焦点元素将接收键盘和类似的事件。

语法:

HTMLElement.focus();

focus()方法可以有一个可选参数,该参数是一个对象,提供选项来控制聚焦过程的各个方面。

例子:

HTML

<!DOCTYPE html> 
<html> 
  
<head> 
    <title>Using load event</title> 
    <link rel="stylesheet" href="style.css"> 
</head> 
  
<body> 
    <div> 
        <p>GeeksforGeeks</p> 
        <input type="text" placeholder= 
            "Hey Geeks, Type something here"> 
    </div> 
    <script src="script.js"></script> 
</body> 
  
</html>

CSS

* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
} 
  
div { 
    margin: auto; 
    margin-top: 10px; 
    height: 100px; 
    width: 300px; 
    background-color: green; 
    text-align: center; 
    font-size: 24px; 
    font-family: Arial, Helvetica, sans-serif; 
} 
  
p { 
    padding-top: 15px; 
    color: whitesmoke; 
} 
  
input { 
    margin-top: 15px; 
    width: 75%; 
    color: black; 
    font-weight: bolder; 
} 
  
input:focus { 
    background-color: #8ecae6; 
}

JavaScript

let inputElem = document.querySelector("input"); 
window.addEventListener('load', function(e) { 
    inputElem.focus(); 
})

输出:

如何在HTML页面加载时聚焦元素?

支持的浏览器:

如何在HTML页面加载时聚焦元素?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程