目录
Change text color on click using JavaScript
单击更改文档的文本颜色
要在单击时更改文档的文本颜色:
- 向元素添加
click
事件侦听器。 - 每次单击元素时,将
document.body.style.color
属性设置为特定颜色。 - 除非被覆盖,否则文本颜色更改将是全局的。
以下是本文示例的 HTML。
索引.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> </head> <body> <div>Some text here</div> <button id="btn">Button</button> <script src="index.js"></script> </body> </html>
这是相关的 JavaScript 代码。
索引.js
const btn = document.getElementById('btn'); btn.addEventListener('click', function onClick(event) { // 👇️ Change text color globally document.body.style.color = 'darkgreen'; // 👇️ Change text color for clicked element only // event.target.style.color = 'salmon'; });
我们
click
为按钮添加了一个事件侦听器,因此每次单击按钮时都会调用一个函数。每次单击按钮时,我们都会将document.body.style.color
属性设置为darkgreen
并全局更改文本颜色。
单击更改元素的文本颜色
要在单击时更改元素的文本颜色:
- 向元素添加
click
事件侦听器。 - 将
event
对象分配给函数中的变量。 - 将
event.target.style.color
属性设置为特定的文本颜色。
索引.js
const btn = document.getElementById('btn'); btn.addEventListener('click', function onClick(event) { // 👇️ Change text color for clicked element only event.target.style.color = 'salmon'; });
每次单击按钮时,都会设置其自己的文本颜色。
我们在对象上使用了
目标属性event
。该target
属性是对调度事件的对象(元素)的引用。
换句话说
event.target
,我们可以访问用户点击的 DOM 元素。您可以通过console.log
该target
属性查看用户单击的 DOM 元素。
索引.js
const btn = document.getElementById('btn'); btn.addEventListener('click', function onClick(event) { console.log(event.target); // 👇️ Change text color for clicked element only event.target.style.color = 'salmon'; });
如果单击按钮并查看console
输出,您将看到
button
正在记录的元素。
单击更改另一个元素的文本颜色
要在单击时更改另一个元素的文本颜色:
- 向其中一个元素添加一个
click
事件侦听器。 - 每次单击该元素时,都会更改
style.color
另一个元素的属性。
id
让我们向div
元素添加一个,以便我们可以选择它。
索引.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> </head> <body> <div id="box">Some text here</div> <button id="btn">Button</button> <script src="index.js"></script> </body> </html>
这是相关的 JavaScript 代码。
索引.js
const btn = document.getElementById('btn'); btn.addEventListener('click', function onClick(event) { const box = document.getElementById('box'); box.style.color = 'salmon'; });
每次单击按钮时,我们都会将div
的文本颜色更改为salmon
。