Javascript 防止空白输入无效

Javascript 防止空白输入无效,javascript,jquery,Javascript,Jquery,我试图阻止在可编辑列表项上输入空白,我使用的代码与我在其他地方使用的代码相同,但由于某些原因,它不起作用 我有: if(folderName == "" || folderName == " " || folderName.charAt(0) == " "){ $(this).remove(); } 如果我不键入任何内容,它将删除该项,但如果我输入一个空格,它不会调用“删除” 奇怪的是,我在另一个地方使用了完全相同的代码,而且工作正常 以下是完整的功能: $(docum

我试图阻止在可编辑列表项上输入空白,我使用的代码与我在其他地方使用的代码相同,但由于某些原因,它不起作用

我有:

if(folderName == "" || folderName == " " || folderName.charAt(0) == " "){
        $(this).remove();
    }
如果我不键入任何内容,它将删除该项,但如果我输入一个空格,它不会调用“删除”

奇怪的是,我在另一个地方使用了完全相同的代码,而且工作正常

以下是完整的功能:

$(document).on('focusout', '#folders li', function(){ //add class when lose focus/shorten name if too long
    var folderName = $(this).text();
    $('#folders li').removeAttr('contenteditable');
    $('#folders li').removeClass('active-tab');
    $(this).addClass('active-tab');
    if(folderName.length > 15){
        $(this).attr('title', $(this).text());
        shortFolderName=folderName.substring(0,15) + '...';
        $(this).text(shortFolderName);
    }
    else if(folderName.length <= 15){
        $(this).text(folderName);
        $(this).attr('title', $(this).text());
    }
    if(folderName == "" || folderName == " " || folderName.charAt(0) == " "){
        $(this).remove();
    }
    console.log(folderName);
})
html:


检查如下空间:

folderName.indexOf(' ') >= 0
if(folderName == "" || (folderName.indexOf(' ') >= 0)){
    $(this).remove();
}
所以你的支票应该是这样的:

folderName.indexOf(' ') >= 0
if(folderName == "" || (folderName.indexOf(' ') >= 0)){
    $(this).remove();
}

检查如下空间:

folderName.indexOf(' ') >= 0
if(folderName == "" || (folderName.indexOf(' ') >= 0)){
    $(this).remove();
}
所以你的支票应该是这样的:

folderName.indexOf(' ') >= 0
if(folderName == "" || (folderName.indexOf(' ') >= 0)){
    $(this).remove();
}
您还可以使用.trim函数,然后检查字符串的长度

if(folderName == "" || folderName.trim().length === 0){
    $(this).remove();
}
注意:trim函数删除字符串两端的空白

您还可以使用.trim函数,然后检查字符串的长度

if(folderName == "" || folderName.trim().length === 0){
    $(this).remove();
}
注意:trim函数删除字符串两端的空白


太棒了,这一切都成功了,谢谢!我想你是说是的,我是说===0这可以简化为如果!folderName.trim.length{}如果您知道folderName是字符串。因为任何非零长度都等于true,并且!当然,但我认为检查长度===0会让不熟悉JavaScription的人更清楚。当然,你的答案是教授解决方案的正确方法,我只是为人们提供一些额外的想法,如果他们想看的话:太棒了,成功了,谢谢!我想你是说是的,我是说===0这可以简化为如果!folderName.trim.length{}如果您知道folderName是字符串。因为任何非零长度都等于true,并且!将“真”转换为“假”。当然,但我认为检查长度===0会为不熟悉JavaScription的人增加清晰度当然,你的答案是教授解决方案的正确方法,我只是为人们提供一些额外的想法,如果他们想看的话: