前端最基础的就是HTML+CSS+Javascript。掌握这三项技术算是入门,但也只是入门而已。现在前端开发的定义远不止于此。前端小课堂(HTML/CSS/JS),本着提高技术水平,夯实基础知识的中心思想,开课(每周四)。场景战斗的内容因人而异。所以最近的更新基本都是我遇到和解决的问题。稍后,他们的内容将发布到该地址。我们今天要谈什么?有时候不知道写什么。挖钱的时候看到一个问题“第79题:如何稳定输入搜索,如何处理中文输入”。这很有趣。今天我们就来说说输入标签支持的这些相关知识throttle(节流阀)、debounce(去抖动)事件(与values有关)topic-搜索框-debounce-处理中文输入时异常节流(Throttle)、debounce(节流阀)、debounce(debounce),以前写过,有现成的,就不写了。输入标签支持的事件键盘事件keydown事件键盘按下事件keypress事件在按下产生字符值的键时触发。比如字母、数字、标点符号。不产生字符值的键的例子有Alt、Shift、Ctrl、backspace等修饰键。keyup事件、键盘弹出事件、valuechange事件、change事件、valuechange事件、判断是否失去焦点时改变。可以先输入123,然后改成123456,这时候把456删掉,你会发现改不了了。testaddress-changeeventinputeventvaluechange事件,每次变化时触发。在与上面相同的测试用例中,您会发现触发了9个输入事件。测试地址输入事件当输入法事件组成开始输入法第一个字母时触发。进入输入法的状态compositionupdate每次输入法更新时触发。输入法状态输入内容。选择compositionend输入法后触发。退出输入法状态searchbox-debounce-handletheexceptionwhenChineseinput实际看到上面的逻辑我们可以知道,compositionstart是我们进入输入法状态需要监听事件触发序列的事件:compositionstart=>compositionupdate=>inputInputting:compositionupdate=>input退出输入法状态:compositionupdate=>input=>compositionend执行计划触发compositionupdate,丢弃下一个输入。compositionend触发输入事件;测试地址-方案1,效果感觉很好,如果要去抖,给demo5Console=debounce(demo5Console,3000)。合成开始时更改值。当然这个方案是不成功的,因为会导致输入框消失。综上所述,当PC端有输入时,我们需要使用compositionupdate来修正输入框的内容。为什么不谈移动?因为我还没有测试过。..PostscriptReferencesEvent参考-MDN
