Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何检查contenteditable div中的一行是否为空_Jquery_Dom_Contenteditable - Fatal编程技术网

Jquery 如何检查contenteditable div中的一行是否为空

Jquery 如何检查contenteditable div中的一行是否为空,jquery,dom,contenteditable,Jquery,Dom,Contenteditable,如何更改此代码,使其检测contenteditable div中的一行是否为空has文本 $('#area').on("keyup change", function() { if( this.value.substr(0,this.selectionStart).match(/(?:^|\s+)$/) && this.value.substr(this.selectionStart).match(/^(?:\s+|$)/)) { console

如何更改此代码,使其检测contenteditable div中的一行是否为空has文本

$('#area').on("keyup change", function() {
    if( this.value.substr(0,this.selectionStart).match(/(?:^|\s+)$/)
     && this.value.substr(this.selectionStart).match(/^(?:\s+|$)/)) {
        console.log("empty");
    } else {
        console.log("has stuff");
    }
});
与textarea的工作方式相同。我试图用innerHTML替换值-唉!没有运气

更新:我要查找的是是否有一行是空的。例如,尝试添加几行,然后使用退格删除任何一行。逐个删除一个符号-当行上没有更多符号时-脚本应返回“空”。例如:

  • “Del”/“Backspace”键控的第一行文本//返回“has stuff”
  • //在“Del”/“Backspace”上,键控返回“empty”
  • 第三行文本//关于“Del”/“Backspace”键控返回“has stuff”
  • 使用innerHTML使用您的代码(添加
    mouseover
    以获取mouseover上的div状态):

    $(“#区域”)。打开(“键控更改鼠标悬停”,函数(){
    if(this.innerHTML.substr(0,this.selectionStart).match(/(?:^\s+)$/)
    &&this.innerHTML.substr(this.selectionStart).match(/^(?:\s+|$)/){
    控制台日志(“空”);
    }否则{
    log(“有东西”);
    }
    });
    
    
    
    使用innerHTML使用您的代码(添加了
    mouseover
    以获取mouseover上的div状态):

    $(“#区域”)。打开(“键控更改鼠标悬停”,函数(){
    if(this.innerHTML.substr(0,this.selectionStart).match(/(?:^\s+)$/)
    &&this.innerHTML.substr(this.selectionStart).match(/^(?:\s+|$)/){
    控制台日志(“空”);
    }否则{
    log(“有东西”);
    }
    });
    
    您需要将.value更改为.textContent

    $('#area').on("keyup change", function() {
       if( this.textContent.substr(0,this.selectionStart).match(/(?:^|\s+)$/)
     && this.textContent.substr(this.selectionStart).match(/^(?:\s+|$)/)){
        console.log("empty");
        } else {
        console.log("has stuff");
       }
    });
    
    如果我没听错的话,把textarea改成div

    <div name="" id="area" cols="30" rows="10" contenteditable=true></div>
    

    您需要将.value更改为.textContent

    $('#area').on("keyup change", function() {
       if( this.textContent.substr(0,this.selectionStart).match(/(?:^|\s+)$/)
     && this.textContent.substr(this.selectionStart).match(/^(?:\s+|$)/)){
        console.log("empty");
        } else {
        console.log("has stuff");
       }
    });
    
    如果我没听错的话,把textarea改成div

    <div name="" id="area" cols="30" rows="10" contenteditable=true></div>
    
    
    
    谢谢Ekim!虽然这并不是所有的功能。请看一看:问题是-它现在检测整个DIV是否为空,但我要查找的是,是否有一个单独的行为空。例如,尝试使用退格删除第三行。逐个删除一个符号-当行上没有更多符号时-脚本应返回“空”谢谢Ekim!虽然这并不是所有的功能。请看一看:问题是-它现在检测整个DIV是否为空,但我要查找的是,是否有一个单独的行为空。例如,尝试使用退格删除第三行。逐个删除一个符号-当行上没有更多符号时-脚本应返回“空”谢谢!问题是-您的脚本现在可以检测整个DIV是否为空,但我要查找的是是否有单独的一行为空。例如,尝试添加几行,然后使用退格删除任何一行。逐个删除一个符号-当行上没有更多符号时-脚本应返回“空”谢谢!问题是-您的脚本现在可以检测整个DIV是否为空,但我要查找的是是否有单独的一行为空。例如,尝试添加几行,然后使用退格删除任何一行。逐个删除一个符号-当行上没有更多符号时-脚本应返回“空”