文档:mozSetImageElement() 方法

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

Document.mozSetImageElement() 方法用于更改一个具有给定背景元素 ID 的背景所使用的元素。该方法会将指定元素设置为 CSS 背景。

语法

js
mozSetImageElement(imageElementId, imageElement)

参数

imageElementId

一个字符串,指示一个已经通过 -moz-element CSS 函数指定为背景图像的元素的名称。

imageElement

与该 imageElement 字符串对应的,用作背景的新元素。指定 null 以移除背景元素。

返回值

无(undefined)。

示例

此示例将在用户每次点击 <div> 块时更改该块的背景。

在线查看此示例.

css
#my-box {
  background-image: -moz-element(#canvas-bg);
  text-align: center;
  width: 400px;
  height: 400px;
  cursor: pointer;
}

上面定义的 CSS 由我们的 <div> 使用,它将 ID 为 "canvas-bg" 的元素用作其背景。

js
let c = 0x00;
function clicked() {
  const canvas = document.createElement("canvas");
  canvas.setAttribute("width", 100);
  canvas.setAttribute("height", 100);

  const ctx = canvas.getContext("2d");
  ctx.fillStyle = `#${c.toString(16)}0000`;
  ctx.fillRect(25, 25, 75, 75);

  c += 0x11;
  if (c > 0xff) {
    c = 0x00;
  }

  document.mozSetImageElement("canvas-bg", canvas);
}

这里的代码在用户每次点击 <div> 元素时被调用。它会创建一个新的 <canvas>,其宽度和高度均设置为 100 像素,然后在其上绘制一个 50x50 像素的正方形。每次调用该函数时,正方形的颜色都会不同(其红色分量每次都会增加),因此每次用户点击该元素时,背景都会填充越来越亮的红色瓷砖图案。

绘制完 canvas 后,会调用 document.mozSetImageElement() 方法,将任何使用 ID "canvas-bg" 作为其背景元素 ID 的 CSS 的背景设置为我们新创建的 canvas。

规范

不属于任何规范。

浏览器兼容性

另见