如何使用javascript禁用textarea一行,而不是所有行

如何使用javascript禁用textarea一行,而不是所有行,javascript,textarea,Javascript,Textarea,我知道DSD可以禁用文本区域中的写入功能 但是如何在文本区域中禁用我想要禁用的一行呢 不全行 谢谢如果没有JavaScript,这是不可能的,即使这样: 您需要启用contentEditable 你需要编写自己的编辑器 您需要弄清楚如果有人删除或插入一行,从而移动禁用行,会发生什么情况 你需要弄清楚当有人在禁用行上方的行中按enter键或在禁用行下方的行开始处按backspace键时该怎么办 总而言之,textarea在这里是错误的方法,最好使用多个input,不管你想在这里做什么,当然你需要让

我知道
DSD
可以禁用文本区域中的写入功能

但是如何在文本区域中禁用我想要禁用的一行呢

不全行


谢谢

如果没有JavaScript,这是不可能的,即使这样:

  • 您需要启用contentEditable
  • 你需要编写自己的编辑器
  • 您需要弄清楚如果有人删除或插入一行,从而移动禁用行,会发生什么情况
  • 你需要弄清楚当有人在禁用行上方的行中按enter键或在禁用行下方的行开始处按backspace键时该怎么办

  • 总而言之,
    textarea
    在这里是错误的方法,最好使用多个
    input
    ,不管你想在这里做什么,当然你需要让它看起来像是一个
    textarea
    ,你仍然需要一些JavaScript来使返回按预期工作(?),但是,您没有指定要对这些内容执行的操作。

    是的,使用多个输入文本显示为单个文本区域,我们称之为伪文本区域。这样就很容易让人瘫痪

    • 不要在它们之间留任何边距,也不要留任何边框,所有边框的宽度都是一样的
    • 将增量ID分配给每个ID,如输入1、输入2等
    • 如果您想在假文本区域中预先填充一些文本,请计算单个输入可以容纳的最大长度,并使用javascript逐行填充(jquery会更好)

    • 当光标位于输入文本的末尾并按enter键时,将光标移到下一个文本输入。为每个这样的可能性定义一个函数并调用它

    • 发布表单时,将输入值附加在一起以获得伪造文本区域的实际值

    我想为这样一个文本区域伪造一个滚动条可能会有困难,但一旦实现,应该可以很好地工作。有这样的插件吗

    更新
    -要处理光标位置,请参考以下内容。我没有亲自尝试,但可能会很有用-并且您可以应用光标位置获取设置逻辑。以某种方式尝试获取实际的单击位置,并强制光标停留在那里。

    就用户界面设计而言,这听起来是一件非常奇怪的事情。情况如何?为什么不把它分成两个文本区域或类似的区域。这真的很奇怪是的,很奇怪。我想知道谷歌电子表格中的选定行/列是如何基于用户权限禁用的。这对我们的午餐计算表非常有用。我想在文本区域中单击的位置写上word,而不仅仅是文本区域的开头,因此我必须在某些地方填充许多空格,这些空格不能删除。@zjm1126更新了我的答案。试试看,让我知道它是否有效