【问题标题】:How to disable window event capturing in Emscripten + SDL?如何在 Emscripten + SDL 中禁用窗口事件捕获?
【发布时间】:2017-07-30 12:19:27
【问题描述】:

对于我的用例,我不需要通过键盘或鼠标在用户和 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 事件?

【问题讨论】:

    标签: javascript dom-events sdl emscripten


    【解决方案1】:

    这没有经过很好的测试,但它似乎工作:

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

    您可以从 SDL 覆盖主事件函数。只需确保 SDL 已加载或将代码放在结束 body 标记之前。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2019-05-21
      • 1970-01-01
      相关资源
      最近更新 更多