首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我用type=" color“从我的输入中选择一种颜色时,如何改变我身体的背景?

当我用type=" color“从我的输入中选择一种颜色时,如何改变我身体的背景?
EN

Stack Overflow用户
提问于 2021-03-05 09:30:24
回答 3查看 62关注 0票数 1

我曾尝试添加一个onclick事件,当单击该事件时,它会将背景更改为我的输入字段中设置的任何内容,但它不起作用。我不知道我是否使用了错误的事件,或者是其他事件。有没有人能帮帮我谢谢。

代码语言:javascript
复制
let color = document.getElementById("color-picker");

color.addEventListener("click", function() {colorPicker(color)});

    function colorPicker(chooseColor) {
        body.style.backgroundColor = chooseColor
    }
代码语言:javascript
复制
<fieldset>
            <legend>Appearing here</legend>
            <div>
                <label for="color-picker">Colors</label>
            </div>
            <div>
                <input type="color" id="color-picker">
            </div>
        </fieldset>

EN

回答 3

Stack Overflow用户

发布于 2021-03-05 09:37:32

几个问题

应该使用

  • change事件而不是 be document.body来选择颜色选择器的值
票数 2
EN

Stack Overflow用户

发布于 2021-03-05 09:39:39

  1. 事件"input“非常适合您的意图。
  2. 您将元素传递给了colorPicker函数,因此必须使用元素的值,而不是元素的值是正确的,而不仅仅是body

代码语言:javascript
复制
let color = document.getElementById("color-picker");

color.addEventListener("input", function() {colorPicker(color)});

function colorPicker(chooseColor) {
    document.body.style.backgroundColor = chooseColor.value;
}
代码语言:javascript
复制
<fieldset>
    <legend>Appearing here</legend>
    <div>
        <label for="color-picker">Colors</label>
    </div>
    <div>
        <input type="color" id="color-picker">
    </div>
</fieldset>

票数 1
EN

Stack Overflow用户

发布于 2021-03-05 09:43:19

您可以通过将所有addEventListener函数放在一行中来简化这一过程(使用箭头=>函数,并使用onChange事件,而不是onClick。然后,您希望返回color.value,而不是输入元素color本身。最后,您希望使用document.body,而不是body

代码语言:javascript
复制
let color = document.getElementById("color-picker")

color.addEventListener("change",() => document.body.style.backgroundColor = color.value)
代码语言:javascript
复制
<fieldset>
  <legend>Appearing here</legend>
  <div>
    <label for="color-picker">Colors</label>
  </div>
  <div>
    <input type="color" id="color-picker">
  </div>
</fieldset>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66485458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档