我在Minko库的叠加示例中发送简单信息时遇到了一些问题
我尝试使用此示例的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", ... )
测试正在运行。
这里我使用由c ++发送的Minko.addListener("hello", ... )
(该示例的main.cpp的第113行)。
答案 0 :(得分:1)
您在应用中所做的事情是C ++ / JS消息传递的一个非常糟糕的例子,因为您只需使用C ++ DOM API就可以实现完全相同的行为:
overlay->mainDOM()->getElementById("gameTimeLeftSeparator")->textContent("<----->");
如果您要做的只是更新DOM元素(内容),那么上面的代码(或类似的C ++ DOM API方法)就是您的选择。
如果您的实际用例无法使用C ++ DOM API实现,请相应更新原始问题/示例。
无论如何,这个:
Minko.addEventListener("hello", ...
当然应该是这样的:
Minko.addEventListener("message", ...
cf this answer