2016-09-21 144 views
-1

这里是我的代码:如何检查输入是否为空?

$("input").on('keyup', function(ev){ 
 
     if(/(8)/.test(ev.which) && this.value == ''){ 
 
     alert('when you pressed backspace, the input was empty already'); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" />

所有我想要做的是落实这一点:

,当你按下 “退格”,输入是空已经

其实我不太懂英文,也许正确的森唐塞是这样的:

,当你按下“退格”,输入您已按

好之前一直空着,写一个字符输入,然后按空格键,会发生什么?这两个角色都将被删除,并显示警报。我需要在它们之间设置一个步骤,我的意思是我需要两个分开的backspace来处理这些事件。

一个用于删除最后一个字符的退格,另一个用于显示该提醒的退格。我怎样才能做到这一点?

+2

......为什么......这就像告诉他们按下A键,当他们按A ... –

+0

@KevinB用户:好老的MS Word回形针想到:) –

+0

@ KevinB所有我想要做的是[这](http://stackoverflow.com/questions/39616516/how-to-check-remove-an-element/39617457?noredirect=1#comment66541764_39617457) –

回答

3

你正在寻找的事件是​​

$("input").on('keydown', function(ev){ 
 
     if(ev.which === 8 && this.value == ''){ 
 
     alert('when you pressed backspace, the input was empty already'); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" />

UPDATE 你可以用class处理它,以及:

$("input").on('keyup', function(ev){ 
 
     if(ev.which === 8 && this.value == '' && $(this).hasClass('empty-input')){ 
 
     $(this).removeClass('empty-input'); 
 
     alert('when you pressed backspace, the input was empty already'); 
 
     } else { 
 
     if (this.value == '') { 
 
      $(this).addClass('empty-input'); 
 
     } 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" />

+1

upvote for correct answer but但是我必须补充我讨厌看到这在我将使用的任何软件中。 –

+0

我同意你的观点,没有人喜欢'alert',也许它只是为了测试或学习。我不会那样做生产。 – Mehdi

+0

是的,你的代码适用于我的问题中的例子,upvote,但可悲的是,它不按预期为我的[真正目的]工作(http://stackoverflow.com/questions/39616516/how-to-check-remove -an-element/39617457?noredirect = 1#comment66541764_39617457) –

2

改为使用​​事件!

由于keyupinput的值已被清除,因此value==''将始终为真。

$("input").on('keydown', function(ev) { 
 
    if (ev.which === 8 && this.value == '') { 
 
    alert('when you pressed backspace, the input was empty already'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" />

+0

是的,你的代码适用于我的问题的例子,upvote,但可悲的是,它不能按预期为我的[真正目的]工作(http://stackoverflow.com/questions/39616516/how-to-check-remove -an-元件/ 39617457?noredirect = 1#comment66541764_39617457) –