代码之家  ›  专栏  ›  技术社区  ›  bingles

Chrome扩展:网络面板-需要禁用触发帮助行为的默认问号

  •  0
  • bingles  · 技术社区  · 5 年前

    我正在开发一个添加自定义devtools面板的Chrome扩展。我的面板上有一些允许用户输入的文本框,但每当我键入问号时,它都会打开Chrome帮助而不是打“?”性格。有没有办法阻止这种行为?

    更新: 我应该提到我在扩展中使用了React,并且使用了React的合成事件。

    1 回复  |  直到 5 年前
        1
  •  0
  •   bingles    5 年前

    这与Chrome无关,而且是由于React JS的细微差别。

    我在打电话事件.停止传播()在实际不会停止传播到非反应注册事件处理程序(如打开“帮助”对话框的事件处理程序)的React合成事件上。

    修复方法是将keydown事件注册到本机DOM元素并对本机事件调用stoppagation。这正确地阻止了帮助菜单在输入我的输入时打开。

    例如

    <input 
      ref={input => input.addEventListener(event => event.stopPropagation())}
      onChange={this.myOnChangeHandler}
      />