- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
嗨,假设我有一个 ID 为 form-submit
的按钮,并且我的 OCaml 文件中有以下函数:
let () =
let form_submit = Dom_html.getElementById "form-submit" in
...
向按钮添加 on_click 方法的正确方法是什么?我应该做这样的事情吗?
form_submit##onclick <- ...
但是处理函数的类型是什么?我在文档中找不到它。
最佳答案
你可以手动使用dom的东西,但不是很方便。正确的方法是使用 Lwt_js_events
使用 Lwt 在事件处理程序上构建抽象的模块。
这是一个最小的例子:
Lwt.async (fun () ->
Lwt_js_events.clicks form_submit
(fun _ev _thread -> Lwt.return () )
)
第一个参数是事件对象,第二个是循环线程。您可以在开始时使用通用构造非常精细地调整处理程序的行为。
Lwt.async
确保处理程序将在“合适的时候”放置到位(在本例中,当 lwt 调度程序启动时)。最好使用它而不是忽略结果,因为它可以确保正确的调度。
关于javascript - 如何使用 js_of_ocaml 添加 onclick 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30008314/
我对 OCaml 尤其是 js_of_ocaml 编译器很陌生。 有人设法编译了将 Jane Street Core 与 js_of_ocaml 一起使用的应用程序吗?我在编译期间收到很多“缺少原语”
我目前正在开发一个用 OCaml 编写并使用 js_of_ocaml 编译为 javascript 的网站项目。只要我使用命令 ocamlfind ocamlc -package js_of_ocam
我正在尝试将 Eclipse 的 OcaIde 插件与 js_of_ocaml 一起使用。不幸的是,js_of_ocaml 用于调用 n 元方法的“##”语法会扰乱代码完成。 我在代码顶部添加了以下注
我在 js_of_ocaml 中创建了一个 Canvas ,如下所示。 (* create document *) let document = Dom_html.window##document (
我在 js_of_ocaml 中有一个 div,我想为它分配一个 onmouseover 事件,比如 deck_div##onmouseover (* do stuff *) ) 然而,期望的函数类
我是 JavaScript 的新手,我正在尝试使用 js_of_ocaml。 我先写了一个很简单的cubes.ml: let simple (a: int) = a + 1234 然后编译它: o
我需要一些帮助才能使 js_of_ocaml 正常工作。网上关于它的信息不多,手册也很稀疏(没有片段或用法示例,也没有评论部分)。 我在服务器上有一个 Card 模块,带有一个 card 记录。我正在
我是XmlHttpRequest,为了发出http请求,我想获取cookie。获取cookie的代码: let http_post url = XmlHttpRequest.perform_raw
新手问题。我正在经历非常好的Ocaml ORA书。当我去玩 Marshal 部分中的 magic_copy 示例时,我更接近浏览器而不是终端,所以我在 ocsigen 的 toplevel in a
嗨,假设我有一个 ID 为 form-submit 的按钮,并且我的 OCaml 文件中有以下函数: let () = let form_submit = Dom_html.getElement
我使用包curl来发出Http请求(使用包str来使用正则表达式)。我正在编译项目中的文件,没有问题,当我使用 js_of_ocaml 编译 file.byte 时,出现以下错误: js_of_oca
我想使用 js_of_ocaml 在 OCaml 中翻译以下 Javascript 示例程序: var AWS = require('aws-sdk'); AWS.config.region = 'u
我正在构建一个在 Ocaml 中实现并使用 js_of_ocaml 编译为 JavaScript 的 JavaScript 库. 我的一个 Ocaml 函数返回一个带有二进制数据的 string。我如
安装后npm和 node , 用 js_of_ocaml 编译 OCaml 文件给出了错误,因此我做了 opam switch reinstall system : :testweb $ opam s
我是一名优秀的程序员,十分优秀!