【问题标题】:Showing a cursor inside a DIV在 DIV 中显示光标
【发布时间】:2009-09-27 13:15:27
【问题描述】:

我正在尝试制作一个精美的在线编辑器,我需要给用户一种他直接在 DIV / SPAN / 其他元素中输入的印象。

我可以通过将击键路由到隐藏的文本框来捕获击键,是的,但我想知道如何在正确的位置显示光标以完成错觉。

有什么想法吗?

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    我相信大多数浏览器内富文本编辑器通过使用contentEditable 属性来实现这一点(我认为每个浏览器都有不同的名称),所以它让系统来处理。这是一个更简洁的解决方案,因为所有本机命令和快捷方式(ctrl+left、双击以选择单词等)的工作方式与预期完全相同,您无需执行任何操作。

    如果有一个真的很好的理由你想用另一种方式,我想你可以通过使用动画 gif 来捏造它,并在每次击键时移动它。除非他们使用等宽字体,否则很难找到放置光标的位置...

    【讨论】:

    • 是的,我想到了光标,但我真的不打算走那条路……现在将搜索 contentEditable 属性……我会看看这是否是我需要的。
    • contentEditable 让您的 div“真正”可编辑,不确定是否是您想要的 ..
    • @yoda:是的。它使它太可编辑了。我实际上想要一些功能少一点的东西:-/
    【解决方案2】:
    #editor {cursor:text;}
    

    (认为它是“文本”你想要的光标)

    【讨论】:

    • 改变鼠标光标 - 它不会给你我相信他正在谈论的文本插入符号(闪烁线)。
    • 他说“光标在正确的位置”所以困难的部分在正确的位置不显示光标
    • 是的,我正在尝试使 div 像文本框一样...我需要在输入的文本上应用自定义格式和样式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多