我有一些问题,在发送一个简单的信息覆盖-明科图书馆的例子。
我尝试使用这个示例的c++代码而不修改它,同时在javascript中添加了一个Minko.addListener。js的代码如下:
<html>
<head>
</head>
<body>
<script>
Minko.addEventListener("hello", function() {
/* simply replace ":" with <-----> */
document.getElementById("gameTimeLeftSeparator").textContent = "<------>"
});
</script>
<body>
<div id="content">
<div id="scoreBanner">
<div id="scoreBannerBackground"></div>
<div class="teamScore" id="teamScoreRed">0</div>
<div class="teamScore" id="teamScoreBlue">0</div>
<div class="gameTimeLeft" id="gameTimeLeftMn">0</div>
<div class="gameTimeLeft" id="gameTimeLeftSeparator">:</div>
<div class="gameTimeLeft" id="gameTimeLeftSec">0</div>
</div>
</div>
<body >
</body>
</html>我真的不明白问题出在哪里。我添加了侦听器,我的非常简单的函数(用一个经典的addListener("click", ... )进行了测试)正在工作。在这里,我使用由Minko.addListener("hello", ... )发送的c++ (该示例中main.cpp的第113行)。
发布于 2015-03-24 12:35:58
您在应用程序中所做的是一个非常糟糕的C++/JS消息传递示例,因为您可以使用C++ DOM实现完全相同的行为,如下所示:
overlay->mainDOM()->getElementById("gameTimeLeftSeparator")->textContent("<----->");如果您想要做的只是更新DOM元素(内容),那么上面的代码(或类似的C++ DOM方法)就是最好的选择。
如果您的实际用例无法使用C++ DOM实现,请相应地更新原始问题/示例。
总之,这个:
Minko.addEventListener("hello", ...当然,应该是这样:
Minko.addEventListener("message", ...cf this answer
https://stackoverflow.com/questions/29231694
复制相似问题