我正在尝试使用WebSharper提供的JQuery来捕获以下事件:selectstart。
所以我写下面的代码:
JQuery.Of(".editorArea").On("selectstart", fun x ->
(
JavaScript.Log("test")
true
)
)
问题是这永远不会在控制台中打印test
字符串。而且我不知道如何使用具有obj
类型的x,因此我无法真正访问事件信息。
答案 0 :(得分:3)
除非您将事件绑定到textarea,输入:password或input:text,否则您的代码没有任何问题。在这种情况下,你需要听#34;选择"事件而不是" selectstart"如下例所示(注意事件对象的显式向下转换为Dom.Event
以便访问其信息):
[<InlineAttribute "$elt.value.substring($elt.selectionStart, $elt.selectionEnd)">]
let selectedText elt = X<string>
let textareaSelection() =
TextArea [Text "Select me"; Attr.Class "editorArea"]
|>! OnAfterRender (fun _ ->
JQuery.Of(".editorArea").On("select", fun x ->
(As<Dom.Event> x).CurrentTarget
|> selectedText
|> JavaScript.Log
true)
)