当输入值为null时,提高onkeypress元素

时间:2014-09-10 13:37:18

标签: javascript jquery

我正在开发一个具有用户输入和用户擦除功能的聊天应用程序,但是当textarea聊天输入为空时(当用户删除所有他输入的内容时)我很难调用函数

  var msg=$("#chat_input").val();
 if ((e.which== 8 || e.keyCode == 8) && (msg.trim() == "" || msg.length <= 1)) {
    // call the function 

 }

当用户键入一个字母然后将其删除时,不会调用该函数,并且此if语句为false  我该怎么办?

2 个答案:

答案 0 :(得分:0)

退回最后一个字符或仅包含新行或空格意味着this.value将返回false

$('#chat_input').keyup(function(e){
    if (e.which == 8 && this.value == false) {

    }
});

jsFiddle Demo


valuefalse,如果只是空格,换行符等,那么您就不需要trim()

( msg.length <= 1 ) // = true when second to last or last

答案 1 :(得分:0)

您可以使用隐式真/假检查来简化此操作

 var msg=$("#chat_input").val();
 if (e.which== 8 && (!msg || !msg.trim())) {
    // call the function 

 }
如果!msg未定义或为空,

msg将返回true,如果!msg.trim()为空字符串,则msg.trim()将返回true。