首页 > 解决方案 > 在父级上禁用 preventDefault

问题描述

我正在插入一个自定义脚本来篡改页面。该脚本添加了一个输入框。

<html>
  <body>
    <div id="originalpage">
      <input type="text" id="myinput">
    </div>
  </body>
</html>

我无法在输入框中输入内容,因为父元素有一个在按键上添加 preventDefault() 的脚本。

function complexKeyHandler(e) {
  // stuff
  e.preventDefault();
}

document.getElementById("originalpage")
  .addEventListener("keypress", complexKeyHandler, true);

使用 chrome 开发工具,我可以在不干扰原始页面的情况下删除输入文本框中继承的按键事件,并且它可以正常工作。

我可以从我的脚本中做到这一点吗?所有脚本都是香草 javascript(没有 jquery)。

标签: javascript

解决方案


你可以删除eventListener这样的:document.getElementById("originalpage").removeEventListener("keypress", complexKeyHandler, true);


推荐阅读