首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用javascript禁用一行而不是所有行的文本区域

如何使用javascript禁用一行而不是所有行的文本区域
EN

Stack Overflow用户
提问于 2010-11-26 04:49:07
回答 2查看 887关注 0票数 0

我知道<textarea name="textarea" disabled="disabled">dsds</textarea>可以禁止在文本区写入,

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

不是所有行

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-26 05:05:07

是的,使用多个输入的文本看起来就像一个单一的文本区,让我们称之为假文本区。这样一来,禁用一个就很容易了。

  • 不要在它们之间放置任何边距和边框,所有边框都具有相同的宽度。
  • 为每个输入分配增量ids 1,input-2等。
  • 如果你想预先填充一些文本到假文本区域,计算单个输入中可以容纳的最大长度,并使用javascript逐行填充(jquery会更好)。
  • 当光标在输入文本的末尾并按enter时,将光标带到下一个文本输入。为每种可能性定义一个函数并调用它。
  • 在发布表单时,将输入值追加在一起,以获得伪造文本区域的实际值。

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

更新-有关处理游标位置的信息,请参考以下内容。我没有尝试过,但可能有用- Jquery Caret positionHow to get cursor position in textarea,您可以应用光标位置获取-设置逻辑。以某种方式尝试获取实际的单击位置,并强制光标停留在那里。

票数 0
EN

Stack Overflow用户

发布于 2010-11-26 04:55:06

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

  1. 您需要启用contentEditable
  2. You需要编写您自己的编辑器...
  3. 您需要弄清楚如果有人删除或插入一行并因此在
  4. 周围移动禁用行时会发生什么您需要弄清楚当某人在禁用行上方的行中按enter或在禁用行下面的行首按退格键时该如何处理...

总而言之,textarea在这里是错误的方法,最好使用多个input来做任何你想在这里做的事情,当然你需要让它看起来像一个textarea,并且你仍然需要一些JavaScript来使返回像预期的那样工作(?),但是你仍然没有指定你想要用这些东西做什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4280759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档