如何在使用WASD播放HTML5游戏时使用firefox的搜索框停止客户端?

时间:2015-09-16 18:34:15

标签: javascript html html5 firefox

我有一个与此question半关联的问题,除了从最终用户的角度来看,我需要从内容提供商的角度来看它。

如果mozilla基金会引入这种半侵入式功能而无法对所选内容进行禁用,我会感到惊讶。

我有一个网页,除了canvas元素之外什么都没有,它通过javascript绘制,为用户创建游戏。当用户使用控制键(W,A,S& D)时,FireFox会看到用户不在某种形式的input框中,并决定他们必须要搜索该页面的某些内容(打开{ {1}}搜索框),迫使用户无法专注于游戏及其后续按键以取消注册。这对非技术用户来说会造成问题,因为他们不知道关闭设置的位置,反过来他们可能会将其归咎于内容本身而不是浏览器。除了在用户强调关注的页面上创建输入之外,还有一种方法可以在FireFox用户访问我的页面时禁用此功能吗?

1 个答案:

答案 0 :(得分:1)

处理完事件后,请将其终止。

示例:

function handleDirectionalKeys(ev) {

  // .. Your WASD code

  ev.preventDefault();
  ev.stopPropagation(); // May not be needed, test it yourself

  return false;
}

您可以选择在事件到达DOM层次结构的顶层时取消该事件:

$(window).keypress(function(e)
{
    // At this point you need to make sure that the key press
    // was already handled by your code
    e.preventDefault();
}
相关问题