【问题标题】:Disable the enter key Chrome extension禁用输入键 Chrome 扩展
【发布时间】:2011-07-03 16:24:44
【问题描述】:

我想为特定页面使用 JavaScript 禁用 Chrome 扩展程序中的 enter 键。例如:在登录页面上,用户应该点击登录按钮,而不是按 enter 登录。

我在我的 Chrome 扩展程序中使用消息传递。

document.addEventListener("keydown", function(e) {
    var keys = e.which; 
  chrome.extension.sendRequest({method: "getHTML", data: keys});
});

【问题讨论】:

  • 表单是否已经有输入键监听器?如果是,您可以显示代码吗?
  • 以上是我的 content_script.js 文件中的代码

标签: javascript google-chrome google-chrome-extension dom-events


【解决方案1】:

只需在您的处理程序上调用 preventDefault() 即可使用该事件并停止它的传播。

要在某些页面(不是每个页面)上实现此功能,您可以创建 2 个内容脚本:一个具有输入阻止功能,另一个具有其余功能。

然后您可以像这样将它们包含在清单中:

{
  "name": "My extension",
  ...
  "content_scripts": [
    {
      "matches": ["http://*/*"],
      "js": ["common_content_script"]
    },
    {
      "matches": ["http://page_i_want_to_prevent_enter"],
      "js" : ["enter_prevention_script"]
    }
  ],
  ...
}

【讨论】:

  • 但这不会阻止所有页面上的 Enter 键吗?
  • 只是你的内容脚本运行的地方,这不是你想要的吗?
  • 由于这个扩展在后台运行,我猜内容脚本也将在所有页面上运行。我只是想阻止特定页面上的 Enter 键。
  • 编辑问题以仅在您想要的页面中包含脚本
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多