更改 <input type=color> 值 onChange
Change <input type=color> value onChange
美好的一天!
我试图让用户选择一种颜色,当他们选择一种颜色时,我想将值更改为他们想要的颜色。我认为这将是一个 boostrap 功能,因为它来自 bootstrap,但不幸的是,它必须手动修改和自定义。有什么方法可以在用户选择他们选择的颜色时更改值。
截至目前,我有一个 onChange=alert 来通知用户他们选择的颜色,但我想避免使用警报并在用户输入后更改值。
我希望我已尽力解释我的问题,并希望从中吸取教训!
谢谢!
<input type="color" class="form-control form-control-color" id="colorPicker" value="#000002" onchange="alert(this.value);" />
- 不要使用不安全的内联 on* 处理程序。 JS 应该只在一个地方,那就是它各自的标签或文件。使用 Element.addEventListener() 代替
- 创建一个函数来处理颜色变化并将逻辑放入其中
- 从事件中获取函数内的选定颜色
currentTarget.value
// Cache your elements
const elColorPicker = document.querySelector("#colorPicker");
const elColorCode = document.querySelector("#colorCode");
const elBody = document.querySelector("body");
// Change color function
const changeColor = (evt) => {
const selectedColor = evt.currentTarget.value;
elColorCode.value = selectedColor;
elBody.style.backgroundColor = selectedColor;
};
// Add the Event to your input
elColorPicker.addEventListener("input", changeColor);
<input type="color" class="form-control form-control-color" id="colorPicker" value="#000002">
<input readonly type="text" class="form-control form-control-color" id="colorCode" value="#000002">
美好的一天!
我试图让用户选择一种颜色,当他们选择一种颜色时,我想将值更改为他们想要的颜色。我认为这将是一个 boostrap 功能,因为它来自 bootstrap,但不幸的是,它必须手动修改和自定义。有什么方法可以在用户选择他们选择的颜色时更改值。
截至目前,我有一个 onChange=alert 来通知用户他们选择的颜色,但我想避免使用警报并在用户输入后更改值。
我希望我已尽力解释我的问题,并希望从中吸取教训!
谢谢!
<input type="color" class="form-control form-control-color" id="colorPicker" value="#000002" onchange="alert(this.value);" />
- 不要使用不安全的内联 on* 处理程序。 JS 应该只在一个地方,那就是它各自的标签或文件。使用 Element.addEventListener() 代替
- 创建一个函数来处理颜色变化并将逻辑放入其中
- 从事件中获取函数内的选定颜色
currentTarget.value
// Cache your elements
const elColorPicker = document.querySelector("#colorPicker");
const elColorCode = document.querySelector("#colorCode");
const elBody = document.querySelector("body");
// Change color function
const changeColor = (evt) => {
const selectedColor = evt.currentTarget.value;
elColorCode.value = selectedColor;
elBody.style.backgroundColor = selectedColor;
};
// Add the Event to your input
elColorPicker.addEventListener("input", changeColor);
<input type="color" class="form-control form-control-color" id="colorPicker" value="#000002">
<input readonly type="text" class="form-control form-control-color" id="colorCode" value="#000002">