按下删除键时,如何判断输入框内 内容是否为空

我的目的是当输入框内 内容为空时,再按下删除键,执行我需要的操作

if (e.target.value === '') {
            if (e.keyCode === 8) {
                //todo
            }
        }

如果我像这样判断的话,当输入框内还剩下最后一个字符时,也会执行todo,请问有什么更好的解决方法吗

阅读 5.9k
3 个回答
    <input type="text" onkeydown="aaa(event)">
    <script>
        function aaa(event){
            var e = event;        
            if (e.target.value === '') {
            if (e.keyCode === 8) {
                console.log('111');                 
            }
            }    
        }
    document.getElementById('input').addEventListener('keyup', function(e) {
      if (e.target.value == '' && e.keyCode === 8) {
        alert(2);
      }
    })

当你只有一个字符时,你按下删除键,监听的时候获取的value值正好是空字符,所以会执行todo。你可以把条件改为:
if(e.target.value.length<=1 && e.keyCode == 8){//todo}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题