保护内容可编辑字段中的某些单词/跨度

时间:2018-09-09 18:34:04

标签: javascript jquery coffeescript

我正在构建javascript(咖啡)单页应用程序(使用Backbone / Marionette和jQuery)。在此应用程序中,我获得了一个contenteditable div,允许用户在其中编辑文本。在此可编辑div中,我获得了防止删除,但我不想用户删除。我想做的是,如果他们试图删除(退格)或编辑受保护的单词,请跳到该单词的前面。

我可以检测到用户何时处于受保护范围内,在这种情况下,我可以防止Default(),但是如何跳到该单词之前的单词呢?换句话说,用户可能不会在其中设置光标。

这是我的代码,用于检查光标是否在范围内。

preventDeletion: (e) ->
      selection = window.getSelection()
      range = selection.getRangeAt(0)
      element = range.startContainer.parentElement
      if element.classList.contains('protected')
        e.preventDefault()

我试图将此范围设置为contenteditable =“ false”,但最终导致非常奇怪的光标行为。

0 个答案:

没有答案