0

我正在 Purescript 中创建一个应用程序,我想要一个显示一些文档的文本框,然后我想根据鼠标在该文本上突出显示的句子在服务器上执行一些 NLP 任务。

如何在 Purescript 中提取该文本?

4

1 回答 1

0

您可以在卤素组件的处理程序中订阅该selectionchange事件。initialize

  Init -> do
    doc <- H.liftEffect $ Web.window >>= Window.document
    void $ H.subscribe $
      ES.eventListenerEventSource (EventType "selectionchange") (Document.toEventTarget doc)
        (const $ Just OnSelectionChange)

然后编写一个 FFI 函数来获取当前选定的文本,例如

foreign import getSelectionString :: Effect String
-- js
const getSelectionString = () => window.getSelection().toString()

然后getSelectionStringOnSelectionChange处理程序中使用。

这里有一个不完全相同的例子 https://github.com/nonbili/halogen-contenteditable-example/blob/master/src/Example/Editor.purs#L178-L180

于 2019-10-07T07:33:34.690 回答