如何在Emscripten + SDL中禁用窗口事件捕获?

时间:2017-07-30 12:19:28

标签: javascript javascript-events sdl emscripten

对于我的用例,我不需要通过键盘或鼠标在用户和emscripten代码之间进行任何交互,我只需要访问画布。

我注意到每当我调用使用emscript编译的代码时Chrome都会在控制台上发出很多警告,例如

Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive.

由于我不需要任何用户交互,我想禁用这些事件以提高性能并避免分配不需要的对象。

我已经将doNotCaptureKeyboard设置为true,有没有办法指示emscripten完全忽略所有输入DOM事件?

1 个答案:

答案 0 :(得分:0)

这未经过充分测试,但似乎有效:

<script>
    SDL.receiveEvent = function(event) {}
</script>

您可以从SDL覆盖主事件功能。只需确保已加载SDL或将代码放在关闭正文标记之前。

请记住,您禁用整个事件处理,这可能会导致问题。如果遇到问题,可以尝试重命名该函数并传递一些所需的事件。