【发布时间】:2011-11-05 03:53:20
【问题描述】:
我有一个以我不希望用户能够更改的文本开头的文本区域,并且通过以下方式阻止这样做:
- 左键和退格键一直有效,直到到达不可删除文本的位置。
- 向上键具有特殊功能,不用于导航目的(返回 false)。
- (使用前两条规则,用户不能通过箭头键将插入符号放置在该区域)
- 当用户单击元素时,插入符号会放置在文本区域的末尾(鼠标按下时)。
- Home 和 ctrl+a 也处理好了。
为了说明,它看起来像
Don't Delete Anything Before the Colon: Your text here. The user text will also
wrap like this.
据我所知,我涵盖了所有情况,但只有一种情况:拖放。我知道如何完全禁用拖放,但这不是我想要的。我只是不希望“不可删除的文本”能够被更改。我可以在允许放置之前放置插入符号吗?或者,我可以阻止放置但访问放置事件并将其放置在我想要的位置吗?
【问题讨论】:
-
为什么文本必须在textarea中?只需将它放在文本区域旁边的一个跨度,让您的生活更简单。关于你的问题,我不确定,但我不认为你可以设置插入符号位置 ondragover
-
我原本打算尝试类似的方法,但希望文本能够在“不可删除的文本”下换行。我开始使用文本输入字段并为每个新行添加一个,但它变得很难看。
标签: javascript event-handling drag-and-drop