HTMLInputElement: search 事件

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

当使用 type="search"<input> 元素发起搜索时,会触发 search 事件。

有几种方式可以发起搜索,例如当 <input> 元素获得焦点时按下 Enter 键,或者,如果存在 incremental 属性,则在最后一次按键后经过 UA 定义的超时时间(新的按键会重置超时,因此事件的触发是 防抖动 的)。

当前 UA 实现的 <input type="search"> 还有一个额外的清除字段的控件。使用此控件也会触发 search 事件。在这种情况下,<input> 元素的值将是空字符串。

此事件不可取消。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("search", (event) => { })

onsearch = (event) => { }

事件类型

一个通用的 Event

示例

js
// addEventListener version
const input = document.querySelector('input[type="search"]');

input.addEventListener("search", () => {
  console.log(`The term searched for was ${input.value}`);
});
js
// onsearch version
const input = document.querySelector('input[type="search"]');

input.onsearch = () => {
  console.log(`The term searched for was ${input.value}`);
};

规范

此事件不是任何规范的一部分。

浏览器兼容性