颜色选择器输入(类型 = 颜色)将在 Firefox 中呈现为文本框,因为它没有原生支持,但在 Chrome 上,浏览器将呈现更好的原生控件。但是,使用 jQuery 绑定到blur
事件将在 firefox 中有效,但在 chrome 中无效。
这是否(尚未)实施或者我应该使用不同的事件?
这是一个带有问题代码的jsFiddle(在FF中工作而不是在chrome中)http://jsfiddle.net/Rgu6h/13/
颜色选择器输入(类型 = 颜色)将在 Firefox 中呈现为文本框,因为它没有原生支持,但在 Chrome 上,浏览器将呈现更好的原生控件。但是,使用 jQuery 绑定到blur
事件将在 firefox 中有效,但在 chrome 中无效。
这是否(尚未)实施或者我应该使用不同的事件?
这是一个带有问题代码的jsFiddle(在FF中工作而不是在chrome中)http://jsfiddle.net/Rgu6h/13/
我刚刚发现了问题,我想知道值是否发生了变化,所以我可以绑定到更改事件而不是单击/模糊/鼠标或任何事件。有时解决方案太明显了。
您可以下载modernizr.js 并询问浏览器是否支持输入类型颜色。如果不是,那么您将编写函数以在模糊时显示颜色选择器。
这个概念被称为“polyfills”,它包括在浏览器本身不支持它时创建额外的功能。
查看 Modernizr 的网站: http: //modernizr.com/了解更多信息。以防万一,你不需要下载整个包,你可以只选择你需要的东西。在您的情况下,它将是一个 9k 文件。(http://modernizr.com/docs/#inputtypes)
更新1:好像我误解了你的问题。
更新 2:似乎 chrome 将输入类型颜色视为按钮。为什么不使用“点击”事件?
模糊工作。尝试使用键盘上的 TAB 键访问输入,您会看到它已聚焦,然后变得模糊,并且 div 出现了。
您可能想要使用onmouseup
. 这取决于你想要做什么。