我有一个关于contenteditable div的问题。当我想在其上执行简单的命令(如加粗或斜体)时,我会按照以下步骤进行:
- 记住div(因为我在点击加粗按钮后它将失去焦点) - 点击按钮时,重新聚焦到div并执行加粗命令 - 一切正常
现在,当我尝试做一些更复杂的事情时,问题就出现了。例如,我希望显示一个具有输入字段的自定义对话框:
- 记住div - 在按钮单击时,显示一个对话框(一切仍然很好) - 用户在对话框中聚焦到一个输入字段(这就是问题所在)
问题出在:一旦聚焦到输入元素,不仅我的contenteditable div会失去焦点,而且还会失去选择,并在重新聚焦后将光标移到开头。
所以我的问题是:如何防止contenteditable div在我聚焦到另一个输入元素后失去其选择?
- 记住div(因为我在点击加粗按钮后它将失去焦点) - 点击按钮时,重新聚焦到div并执行加粗命令 - 一切正常
现在,当我尝试做一些更复杂的事情时,问题就出现了。例如,我希望显示一个具有输入字段的自定义对话框:
- 记住div - 在按钮单击时,显示一个对话框(一切仍然很好) - 用户在对话框中聚焦到一个输入字段(这就是问题所在)
问题出在:一旦聚焦到输入元素,不仅我的contenteditable div会失去焦点,而且还会失去选择,并在重新聚焦后将光标移到开头。
所以我的问题是:如何防止contenteditable div在我聚焦到另一个输入元素后失去其选择?