J'ai un problème, voici un petit exemple :
Xhtml.of_string_unsafe(Xhtml.to_string(<button onclick={_->jlog("coucou")}>bouton</button>))
Et quand je clique sur le bouton, rien ne se passe...
Y a-t-il un bug dans l'opa ?
J'ai un problème, voici un petit exemple :
Xhtml.of_string_unsafe(Xhtml.to_string(<button onclick={_->jlog("coucou")}>bouton</button>))
Et quand je clique sur le bouton, rien ne se passe...
Y a-t-il un bug dans l'opa ?
Premier élément de réponse : pour accélérer le chargement des pages, Opa charge d'abord le HTML et reporte les balises script (chargement de tout le code côté client) à la fin de la page. Dans un cas d'utilisation normal, les actions onclick sont alors déléguées jusqu'après le chargement du code JS. Cela ne peut pas se produire ici, et votre exemple montre en fait une erreur JS : il essaie d'utiliser jQuery, qui n'est pas encore chargé (il est chargé dans le cadre du fichier all.js).
En revanche, si vous insérez ce XHTML dangereux de manière dynamique, c'est-à-dire après le chargement du JS, vous n'obtiendrez pas d'erreur. L'exemple de code est le suivant :
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)
Cependant, cela ne fonctionne toujours pas. Je ne sais pas encore pourquoi.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.