吸管
EyeDropper
接口表示吸管工具的一个实例,用户可以打开并使用它从屏幕上选择颜色。
构造函数
EyeDropper()
实验性-
返回一个新的
EyeDropper
实例。
实例方法
EyeDropper
接口不继承任何方法.
EyeDropper.open()
实验性-
返回一个 promise,该 promise 解析为一个对象,该对象提供对所选颜色的访问权限。
示例
打开吸管工具并采样颜色
此示例演示如何打开吸管工具并等待用户从屏幕上选择一个像素,或者按 Escape 取消吸管模式。
HTML
html
<button id="start-button">Open the eyedropper</button> <span id="result"></span>
JavaScript
js
document.getElementById("start-button").addEventListener("click", () => {
const resultElement = document.getElementById("result");
if (!window.EyeDropper) {
resultElement.textContent =
"Your browser does not support the EyeDropper API";
return;
}
const eyeDropper = new EyeDropper();
eyeDropper
.open()
.then((result) => {
resultElement.textContent = result.sRGBHex;
resultElement.style.backgroundColor = result.sRGBHex;
})
.catch((e) => {
resultElement.textContent = e;
});
});
结果
取消吸管模式
此示例表明,吸管模式也可以在用户选择颜色或按 Escape 之前取消。
HTML
html
<button id="start-button">Open the eyedropper</button> <span id="result"></span>
JavaScript
js
document.getElementById("start-button").addEventListener("click", () => {
const resultElement = document.getElementById("result");
if (!window.EyeDropper) {
resultElement.textContent =
"Your browser does not support the EyeDropper API";
return;
}
const eyeDropper = new EyeDropper();
const abortController = new AbortController();
eyeDropper
.open({ signal: abortController.signal })
.then((result) => {
resultElement.textContent = result.sRGBHex;
resultElement.style.backgroundColor = result.sRGBHex;
})
.catch((e) => {
resultElement.textContent = e;
});
setTimeout(() => {
abortController.abort();
}, 2000);
});
结果
规范
规范 |
---|
吸管 API # eyedropper-interface |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。