我搜索了很多,在Stack Overflow上找到了答案,但都是徒劳的,没有什么对我有用。我想在input
字段中更改颜色时获取颜色值。
这是我的代码,请检查一下为什么它不工作。
<input type="color" id="bgcolor" value="#ffffff" onchange="test()" />
字符串
下面是JavaScript代码:
function test(){
console.log('working.....');
}
型
这个函数不起作用,如果你用onclick
替换onChange
,它工作得很好,但为什么不适用于onChange
?
8条答案
按热度按时间cunj1qz11#
我在Windows上的Chrome和Firefox上都得到了同样的行为,它只发生在纯黑色,纯白色,或者任何非常接近它们中任何一个的颜色上。
如果你看一下颜色选择器,你会注意到当你在主方块中移动光标时,rgb值不会改变(如果你使用向右的垂直滑块,它们会改变,但这不是普通用户倾向于做的)。
的数据
使用相同颜色选择器的其他应用程序也会发生相同的行为,例如MSpaint或Tkinter的
tkColorChooser.askcolor()
。我假设这是Windows的默认颜色选择器,因为“颜色”有英国英语拼写“颜色”,这是我的默认语言选择。要解决这个问题,只需使用任何不是
#ffffff
或#000000
(或接近)的颜色作为开始颜色。字符串
qyswt5oh2#
有些人在不同浏览器中的行为不一致的问题发生了,因为你使用了
onchange
事件(jQuery中的change
),这是不颜色输入的适当事件(这就是为什么它有时工作,有时不工作,特别是在Mac OS X上)。你应该使用
oninput
(或者使用jQuery时使用input
),它在所有浏览器和平台上都能正常工作。字符串
zte4gxcn3#
希望这对你有帮助。
字符串
的数据
nuypyhwy4#
像这样访问值。
个字符
kgsdhlau5#
尝试使用JavaScript和jQuery来执行以下代码段。
个字符
vmpqdwk36#
它为我工作,检查它下面
个字符
wmvff8tz7#
字符串
bnl4lu3b8#
在我的angular(13)项目中,我使用了
(input)=""
:字符串
这会在从渐变中拾取颜色的同时实时连续触发函数
someFunction()
。