如何检查光标是否在textarea内的空行?

时间:2014-01-07 20:08:57

标签: javascript jquery line-breaks

如何检查光标是否位于textarea内的空行?

我不在乎换行。我关心通过点击 Enter 创建的行。

$('textarea').on("change keyup", function() {
  if (cursor is on an empty line or the the line has just spaces) {
    console.log("empty");
  } else {
    console.log("has stuff");
  }
});

例如:

  

这会记录“有东西”

     

上面的行会记录“空”,这一行会记录“有东西”

1 个答案:

答案 0 :(得分:1)

以下 应该有效,但不适用于旧版本的IE。

// on(..., function() {
if( this.value.substr(0,this.selectionStart).match(/(?:^|\r?\n\s*)$/)
 && this.value.substr(this.selectionStart).match(/^(?:\s*\r?\n|$)/)) {
    console.log("empty");
}

EDIT搜索现在显式查找换行符,并选择了更多空格。