【问题标题】:How do you access highlighted text in Purescript?如何访问 Purescript 中突出显示的文本?
【发布时间】:2023-04-02 09:29:01
【问题描述】:

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

如何在 Purescript 中提取该文本?

【问题讨论】:

    标签: purescript purescript-halogen


    【解决方案1】:

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

      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()
    

    然后在OnSelectionChange 处理程序中使用getSelectionString

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

    【讨论】:

      猜你喜欢
      • 2018-04-24
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 2013-05-25
      • 2020-08-26
      相关资源
      最近更新 更多