首页 > 解决方案 > 如何检查输入事件的状态?

问题描述

在 javascript 中,可以通过以下方式为范围滑块制作事件侦听器

document.getElementById().on("input", () =>{event handler})

但是我似乎找不到该输入事件的相应布尔值,例如您可以使用复选框

document.getElementById().checked

它返回一个布尔值,告诉您该框是否被选中(选中)。

我在getelementbyname滑块的节点链接中搜索过,没有找到输入事件状态的任何痕迹,除了inputmode,也尝试过document.getElementById().inputoninput,但效果不佳。

要点是事件侦听器外部的 if 语句的条件,因为我有不同的值作为被调用函数的参数,当滑块移动(触发输入事件)时,不应调用默认值函数。按照检查事件状态的示例:if (document.getElementById('id').checked == true) {code} else {default function is called}。是否也可以检查输入事件状态?

标签: javascriptdomsliderdom-eventsrangeslider

解决方案


如果我理解正确,您需要在触发事件时获取布尔值,在输入为空时获取 false,如果是这样,您可以这样做:

document.querySelector('class-or-ID').addEventListener('input', (event) => {
  if (!event.target.value) {
    // input is empty
  } else {
    // input has content
  }
});

推荐阅读