Window:clearTimeout() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

Window 介面的 clearTimeout() 方法取消了先前透過呼叫 Window.setTimeout() 建立的超時。

如果提供的引數未標識先前建立的動作,則此方法不執行任何操作。

語法

js
clearTimeout(timeoutID)

引數

timeoutID

要取消的超時識別符號。此 ID 由相應的 setTimeout() 呼叫返回。

值得注意的是,setTimeout()setInterval() 使用的 ID 池是共享的,這意味著你可以在技術上互換使用 clearTimeout()clearInterval()。但是,為了清晰起見,你應該避免這樣做。

返回值

無(undefined)。

示例

在網頁上下文中執行下面的指令碼,並點選頁面一次。你會看到一條訊息在一秒鐘後彈出。如果你在一秒鐘內多次點選頁面,則警報只出現一次。

js
const alarm = {
  remind(message) {
    alert(message);
    this.timeoutID = undefined;
  },

  setup() {
    if (typeof this.timeoutID === "number") {
      this.cancel();
    }

    this.timeoutID = setTimeout(
      (msg) => {
        this.remind(msg);
      },
      1000,
      "Wake up!",
    );
  },

  cancel() {
    clearTimeout(this.timeoutID);
  },
};
window.addEventListener("click", () => alarm.setup());

注意

將無效 ID 傳遞給 clearTimeout() 會靜默地不執行任何操作;不會丟擲異常。

規範

規範
HTML
# dom-cleartimeout-dev

瀏覽器相容性

另見