使用minko,“html overlay”功能,是否可以从html向c代码发送事件?
提供的示例,框架清楚地演示了如何将事件从c发送到html(通过递增计数器并使其反映在html中),是否可以通过相反的方式进行通信?
解决方法:
是.
HTML DOM事件被包装并作为C信号提供.所以你可以这样做:
dom->getElementById("my-element-id")->onclick()->connect(
[](dom::AbstractDOMMouseEvent::Ptr event)
{
// do something...
}
);
它实际上是在同一个例子中完成的:https://github.com/aerys/minko/blob/master/example/html-overlay/src/Main.cpp#L110
您还可以使用JS中的AbstractDOM :: sendMessage()方法或JS中的Minko.sendMessage()函数以两种方式发送和接收“消息”.您可以使用C和Minko.addEventListener(“message”,yourCallbackFunction)中的AbstractDOM :: onmessage()来侦听这些消息.
请注意,您还可以在C代码中调用AbstractDOM :: eval()来执行JavaScript代码.这就是我们实际上实现了大部分事情的方式.