首页 > 解决方案 > 如果行没有换行符,是否可以知道我的光标是在文本区域的第一行还是最后一行?

问题描述

我想触发一个喜欢离开 textarea 的第一行或最后一行。问题是我不能使用换行符。因为文本可以在没有硬换行符的情况下换行。

<!DOCTYPE html>
<html>
   <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
   </head>
   <body>
      <form action="/action_page.php">
         <textarea rows="2" cols="20" name="usrtxt" wrap="soft">
         I'am only one line without line breaks. Look joe I don't break but I wrap.
         </textarea>
      </form>
   </body>
</html>

标签: javascriptjqueryhtml

解决方案


<!DOCTYPE html>
<html>
   <body>
      <form action="/action_page.php">
         <textarea rows="2" cols="20" name="usrtxt" wrap="soft" onkeyup="getLineNumber(this, document.getElementById('lineNo'));" onmouseup="this.onkeyup();">I'am only one line without line breaks. Look joe I don't break but I wrap.</textarea>
      </form>
      <div id="lineNo">You are on linenumber</div>
      <script>
         function getLineNumber(textarea, indicator) {
             indicator.innerHTML = textarea.value.substr(0, textarea.selectionStart).split("\n").length;
         }
      </script>
   </body>
</html>


推荐阅读