我有一个问题,这是一个简短的例子:
Xhtml.of_string_unsafe(Xhtml.to_string(<button onclick={_->jlog("coucou")}>bouton</button>))
当我点击按钮时,没有任何事情发生......
opa中有错误吗?
答案 0 :(得分: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)
然而,它仍然无效。我不知道为什么。
答案 1 :(得分:1)
我认为这是“正常”,将XHTML转换为基本字符串无法保留事件处理程序...
onclick未序列化为字符串。
有人可以证实吗?