使用oninput事件更改背景主体颜色

艾泽奎尔·唐

我正在使用Javascript。

我需要输入,同时我正在编写一种颜色,主体背景会变为该颜色。我还需要用delete使背景变白

<strike>
<!DOCTYPE html>
<html>
<body>

<p>Write a color for background</p>

<input type="text" id="myInput" oninput="colorForBack()">

<p id="demo"></p>

<script>
function colorForBack() {
  var x = document.getElementById("myInput").value;
  document.getElementById("demo").innerHTML = "Your color: " + x;
  element.style.backgroundColor = x;
 
}
</script>

</body>
</html>
</strike>
罗科·C·布尔扬
  • 不要使用内联JSon*属性处理程序,就像不使用内联style属性一样。很难调试和维护。JS应该只放在一个地方,那就是您的script请改用Element.addEventListener()
  • 使用document.body获取BODY元素document.querySelector("body")
  • 收听"input""keyup"活动。在上面,"keyup"我们可以使用KeyboardEvent.key推断出键-如果匹配字符串“ Delete”,则可以相应地重置输入值
  • 不要在您的DOM中插入未经处理的字符串!将用户输入的字符串值插入文档时,请使用Node.textContent

const EL_body = document.body;
const EL_input = document.querySelector("#myInput");
const EL_color = document.querySelector("#demo");

function setBodyBackground(ev) {
  const isDelete = ev?.key === "Delete";
  const color = isDelete ? "transparent" : EL_input.value;
  EL_color.textContent = `Your color: ${color}`;
  EL_body.style.backgroundColor = color;
  if (isDelete) EL_input.value = ""; // Reset input value on Delete key
}

["input", "keyup"].forEach(evName => EL_input.addEventListener(evName, setBodyBackground))
<p>Write a color for background</p>
<input type="text" id="myInput">
<p id="demo"></p>

另请阅读:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用angularjs更改主体背景颜色

使用“输入”事件动态更改背景颜色

使用Bootstraps网格时更改主体的背景颜色

使用React在单击时更改主体元素的背景颜色?

jQuery-使用条件语句更改主体的背景颜色

无法使用javascript回调更改主体背景颜色

使用选择选项输入js更改主体背景颜色

悬停时更改主体背景颜色

更改链接悬停时的主体背景颜色

用JS更改不同颜色的主体背景

如何更改div元素的背景颜色以与主体背景颜色匹配?

如何在引导程序中更改面板主体的背景颜色?

将状态更改附加到React应用的主体背景颜色?

通过在javascript中单击btn更改主体背景颜色

是否可以更改多个页面的主体背景颜色?

如何在index.html中更改主体的背景颜色?

延迟事件,例如更改div的背景颜色

更改点击事件的按钮背景颜色?

VSCode:更改未选择事件的背景颜色

点击事件时更改div背景颜色

使用javascript更改背景颜色

如何在路线更改角度4时更改主体背景或背景颜色?

如何让事件侦听器使用 javascript 更改我的 css 背景颜色?

如何使用 onclick 事件侦听器一次更改多个元素的背景颜色?

使用事件处理程序更改背景颜色,并重绘所有 Canvas 对象

我如何使用reactjs中的onclick事件更改整页的背景颜色?

主体背景颜色不显示?

如何在不更改recyclerView主体的情况下更改View Drawable的背景颜色?

使用 JQuery 验证 OnInput 事件