javascript - 在父级上禁用 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)。
解决方案
你可以删除eventListener
这样的:document.getElementById("originalpage").removeEventListener("keypress", complexKeyHandler, true);
推荐阅读
- flutter - 由于上述问题,无法构建插件 shared_preferences
- android - 如何让以下外键在firebase中工作
- r - 将 survfit() 应用于生存对象列表
- audio - 如何在不改变质量和不改变帧率(Ffmpeg)的情况下压缩视频大小?
- vulkan - 为什么 vulkan 子通道内容不能同时是内联和辅助命令缓冲区?
- reactjs - npm 在 create-react-app 后开始显示错误
- node.js - MongoDB:如何使用条件递归获取所有子节点的计数?
- java - Maven 在构建我们自己的 custom.jar 时发布和使用第三方运行时 jar
- sql - 在 BigQuery 中获取在同一天安装和卸载应用程序的用户以及卸载时间
- amazon-web-services - Fargate 服务的启动类型与容量提供者策略