Xhtml.of_string_unsafe禁用onclick

时间:2011-08-24 17:49:40

标签: opa

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

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

当我点击按钮时,没有任何事情发生......

opa中有错误吗?

2 个答案:

答案 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未序列化为字符串。

有人可以证实吗?