2

我有一个问题,这是一个简短的例子:

Xhtml.of_string_unsafe(Xhtml.to_string(<button onclick={_->jlog("coucou")}>bouton</button>))

当我点击按钮时,什么也没有发生......

opa 中是否有错误?

4

2 回答 2

2

答案的第一个要素:为了加快页面的加载速度,Opa 加载首先放置 HTML 并将脚本标签(加载所有客户端代码)推迟到页面末尾。在正常用例中,onclick 操作会被委托,直到加载 JS 代码之后。这不可能在这里发生,您的示例实际上显示了一个 JS 错误:它尝试使用尚未加载的 jQuery(它作为 all.js 文件的一部分加载)。

相反,如果您动态插入这个不安全的 XHTML,那么在加载 JS 之后,您就不会收到错误消息。示例代码是:

page() = 
  btn = Xhtml.of_string_unsafe(Xhtml.to_string(<button onclick={_ ->jlog("coucou")}>bouton</button>))
  <span id="toto" onready={_ -> Dom.transform([#toto <- btn])} />
server = one_page_server("Test", page)

但是,它仍然不起作用。我还不知道为什么。

于 2011-08-25T09:44:17.940 回答
1

我认为这是“正常的”,将 XHTML 转换为基本字符串不能保留事件处理程序......

onclick 未序列化为字符串。

有人可以确认吗?

于 2011-08-24T23:11:00.427 回答