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

我需要知道我的输入框是否被点击,以便我可以触发脚本来做某事,除了我尝试的所有路线似乎都没有做任何事情。


基本输入框


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

Javascript


var 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'); }

我需要知道用户是否点击,以便我可以在用户输入内容之前清除先前元素上的一些类。


动漫人物
浏览 284回答 2
2回答

三国纷争

你几乎猜对了。几个小错误:收听focus事件。onfocus不是事件。该keyup事件用于在释放键盘按钮时(在keydown事件之后)进行侦听。如果要监听鼠标单击,请使用该click事件。var inputBox = document.getElementById("search-stuff");if (inputBox) {&nbsp; inputBox.addEventListener('click', function() {&nbsp; &nbsp; startSearch();&nbsp; });&nbsp; inputBox.addEventListener('focus', function() {&nbsp; &nbsp; searchBoxClicked();&nbsp; });}function searchBoxClicked() {&nbsp; console.log('focus');}function startSearch() {&nbsp; console.log('click');}<input type="text" id="search-stuff" placeholder="search" />
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript