gpt4 book ai didi

javascript - 控制拖放位置

转载 作者:行者123 更新时间:2023-11-29 18:31:16 29 4
gpt4 key购买 nike

我有一个文本区域,它以我不希望用户能够更改的文本开头,并且通过以下方式阻止这样做:

  • 左键和退格键一直作用到不可删除文本的位置。
  • 向上键具有特殊功能,不用于导航目的(返回 false)。
    • (使用前两条规则,用户不能通过方向键将插入符号放置在该区域)
  • 当用户点击该元素时,插入符号将放置在文本区域的末尾(鼠标按下时)。
  • Homectrl+a 也已处理。

为了说明起见,它看起来像

Don't Delete Anything Before the Colon:  Your text here.  The user text will also
wrap like this.

据我所知,我涵盖了所有情况,但只有一种情况:拖放。我知道如何完全禁用拖放,但这不是我想要的。我只是不希望能够更改“不可删除的文本”。我可以在允许放置之前定位插入符吗?或者,我可以阻止掉落但访问掉落事件并将其放置在我想要的位置吗?

最佳答案

我想出了一个解决方案。它依赖于 jQuery,但我敢肯定,熟练的 JS 程序员可以轻松地消除这种依赖性。

现场演示:http://trafnar.github.com/permastring/

JS代码:https://github.com/trafnar/permastring/blob/master/permastring.js

Github repo :https://github.com/trafnar/permastring

它的工作原理是不断存储文本字段的值,然后基本上“撤消”任何改变永久字符串的更改。

到目前为止,我注意到的最大缺点是它破坏了用户执行全选 + 删除的能力。编辑:我已经修复了这个缺点,现在可以全选并删除。

关于javascript - 控制拖放位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8018075/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com