是否可以触发由 Minko 中的 HTML 事件启动的 C++ 代码

is it possible to trigger c++ code, initiated by html events in minko?

本文关键字:事件 HTML 启动 代码 C++ 中的 Minko 是否      更新时间:2023-10-16

使用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

您还可以使用 C++ 中的 AbstractDOM::sendMessage() 方法或 JS 中的Minko.sendMessage()函数双向发送和接收"消息"。您可以使用C++和Minko.addEventListener("message", yourCallbackFunction)中的AbstractDOM::onmessage()收听这些消息。

请注意,您还可以在C++代码中调用AbstractDOM::eval()来执行 JavaScript 代码。这就是我们实际实现大多数事情的方式。