我有一个问题,这是一个简短的示例:
Xhtml.of_string_unsafe(Xhtml.to_string(<button onclick={_->jlog("coucou")}>bouton</button>))
当我点击按钮时,什么也没有发生......
opa有bug吗?
最佳答案
答案的第一个元素:为了加快页面加载速度,Opa 首先加载 HTML 并推迟脚本标记(加载所有客户端代码)直到页面末尾。在正常使用情况下,onclick 操作会被委托(delegate),直到 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)
但是,还是不行。我还不知道为什么。
关于opa - xhtml.of_string_unsafe 禁用 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7179956/