为了账号安全,请及时绑定邮箱和手机立即绑定

检查我的输入框是否已被单击或“处于焦点”纯 js

检查我的输入框是否已被单击或“处于焦点”纯 js

动漫人物 2021-06-17 14:01:19
我需要知道我的输入框是否被点击,以便我可以触发脚本来做某事,除了我尝试的所有路线似乎都没有做任何事情。基本输入框<input type="text" id="search-stuff" placeholder="search"/>Javascriptvar inputBox = document.getElementById("search-stuff");if (inputBox) {    inputBox.addEventListener('keyup',function () {        startSearch();    })    inputBox.addEventListener('onfocus',function() {        console.log('we clicked');        searchBoxClicked();    })}function searchBoxClicked() { console.log('we clicked it'); }我需要知道用户是否点击,以便我可以在用户输入内容之前清除先前元素上的一些类。
查看完整描述

2 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

你几乎猜对了。几个小错误:

  1. 收听focus事件。onfocus不是事件。

  2. keyup事件用于在释放键盘按钮时(在keydown事件之后)进行侦听。如果要监听鼠标单击,请使用该click事件。

var inputBox = document.getElementById("search-stuff");

if (inputBox) {

  inputBox.addEventListener('click', function() {

    startSearch();

  });

  inputBox.addEventListener('focus', function() {

    searchBoxClicked();

  });

}


function searchBoxClicked() {

  console.log('focus');

}


function startSearch() {

  console.log('click');

}

<input type="text" id="search-stuff" placeholder="search" />


查看完整回答
反对 回复 2021-06-18
  • 2 回答
  • 0 关注
  • 283 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信