如何跨浏览器获得相同的 <input type="color"> 值更改功能?
How to get the same <input type="color"> value change functionality across browsers?
我正在开发一个网络应用程序,当用户从 <input type="color">
.
中选择颜色时,它使用 javascript 在页面上执行某些操作
问题是 <input type="color">
在 Chrome、Firefox 和 Safari 上的行为不同:
- 在 Safari 上,当用户单击
<input type="color">
时,外部颜色选择器 window 不会弹出
- 在 Firefox 上,会弹出一个外部颜色选择器控件 window,但
input
元素的值仅在 1) 发生值更改以及 2) 颜色选择器 [=65] 时发生变化=] 随后关闭(EDIT ...在 Mac 上;在 Windows 上,用户必须单击 "OK" 按钮以确认值变化,不只是关闭 window)
Chrome的行为是理想的:
- 单击时,
<input type="color">
会弹出一个颜色选择器 window
- 任何时候在颜色选择器弹出 window 中更改值时,
input
元素的值都会更改(在颜色选择器 之前 window已关闭)
Here is a codepen with a vanilla <input type="color">
在所有 3 个浏览器上检查时显示了这个问题。
如何使用 javascript and/or css 从 Firefox 和 Safari 中获得 <input type="color">
Chrome 行为?
编辑
Safari 的疯狂之处在于,their docs say color
输入类型是:
An input control for specifying a RGB color value. The user can select a color from a color well
恐怕我们还没有在开发中使用这种输入类型。您最好的解决方案是使用跨浏览器插件。
可以看到颜色元素的支持
我正在开发一个网络应用程序,当用户从 <input type="color">
.
问题是 <input type="color">
在 Chrome、Firefox 和 Safari 上的行为不同:
- 在 Safari 上,当用户单击
<input type="color">
时,外部颜色选择器 window 不会弹出 - 在 Firefox 上,会弹出一个外部颜色选择器控件 window,但
input
元素的值仅在 1) 发生值更改以及 2) 颜色选择器 [=65] 时发生变化=] 随后关闭(EDIT ...在 Mac 上;在 Windows 上,用户必须单击 "OK" 按钮以确认值变化,不只是关闭 window)
Chrome的行为是理想的:
- 单击时,
<input type="color">
会弹出一个颜色选择器 window - 任何时候在颜色选择器弹出 window 中更改值时,
input
元素的值都会更改(在颜色选择器 之前 window已关闭)
Here is a codepen with a vanilla <input type="color">
在所有 3 个浏览器上检查时显示了这个问题。
如何使用 javascript and/or css 从 Firefox 和 Safari 中获得 <input type="color">
Chrome 行为?
编辑
Safari 的疯狂之处在于,their docs say color
输入类型是:
An input control for specifying a RGB color value. The user can select a color from a color well
恐怕我们还没有在开发中使用这种输入类型。您最好的解决方案是使用跨浏览器插件。
可以看到颜色元素的支持