克隆 JavaScript 事件对象

2024-01-08

有人知道如何对本机 javascript 事件对象进行深度复制/克隆吗?我知道我可以创建一个新的事件对象并手动设置适当的属性以匹配原始事件,但如果有一种方法可以克隆,那就容易多了。


上面的代码不会正确复制任何 getter/setter。尝试:

function cloneEvent(e) {
    if (e===undefined || e===null) return undefined;
    function ClonedEvent() {};  
    let clone=new ClonedEvent();
    for (let p in e) {
        let d=Object.getOwnPropertyDescriptor(e, p);
        if (d && (d.get || d.set)) Object.defineProperty(clone, p, d); else clone[p] = e[p];
    }
    Object.setPrototypeOf(clone, e);
    return clone;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

克隆 JavaScript 事件对象 的相关文章

  • javascript 正则表达式用于空格或

    我正在寻找一个用于空白的 javascript 正则表达式 我正在循环中检查几个不同的字符串 我需要找到其中有大空白的字符串 空白字符串构建在一个循环中 就像这样 请将此代码阅读为var whitespace nbsp 然后循环只是在其上连
  • javascript switch/case :比较类型吗? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Javascript switch 语句中进行严格比较是否安全 https stackoverflow com questions 6989902 is it safe to assume str
  • Jest 中从未调用图像 onLoad 处理程序

    我正在尝试使用 Jest 测试将 dataUrl 加载到图像中 我正在使用 JSDOM 并按照说明添加resources usable 作为一个选项 如果我直接从 Node 运行该代码 则该代码可以工作 但是当我尝试在 Jest 中运行它时
  • 从数组数组中获取唯一值[重复]

    这个问题在这里已经有答案了 我有以下数组 let arr email protected cdn cgi l email protection email protected cdn cgi l email protection email
  • Yeoman-Angular 生成的应用程序中缺少 Angular 脚本

    我已经使用 Yeoman Angular Generator 生成了一个应用程序 但项目中缺少 angular js 和其他 Angular 文件 我可以在 Bower json 文件中看到这些依赖项 如下所示 name mi portfo
  • angularjs 自定义过滤器检查数据数组内的值

    我有两个过滤器 它们根据数据中的队列键过滤数据 这是我的代码 var app angular module app app controller mainController function scope Data object scope
  • Vue js按钮冻结dom

    我试图在按下按钮时切换包含加载动画的跨度 直到使用 v if 函数完成 但是当我按下按钮时 DOM 冻结并且 span 元素保持不变 直到函数调用结束 如何让 DOM 不冻结并显示加载图标 非阻塞按钮按下可能是一个解决方案 HTML
  • 将字符串转换为变量名。 (JavaScript)

    我确实查看了前面的问题 但它们是针对整数值的 我需要文本值的答案 我在本周早些时候问了一个与此相关的问题 但现在是这样 如下所示 我使 Make x 等于某个字符串值 Acura Honda Toyota 当我将 Make x 传递到函数
  • 为什么 JSON.stringify() 接受 Date 对象?

    至少在 Firefox 中 您可以对 Date 对象进行字符串化 gt gt gt JSON stringify now new Date now 2012 04 23T18 44 05 600Z 这是有效的 因为 在 Firefox 中
  • React.js this.props.data.map() 不是一个函数

    我正在搞乱反应并尝试解析和渲染 json 对象 现在 我只是使用硬编码对象设置它以进行测试 而不是从 ajax 调用中获取它
  • jQuery UI 对话框使用 setTimeout 自动关闭

    我试图让对话框在打开后三秒自动关闭 我尝试过以下方法 setTimeout mydialog dialog close 3000 这是在上下文中 acknowledged dialog dialog height 140 modal tru
  • 通过电子邮件发送在 HTML5 画布上创建的图像

    我有一个画布 用户可以通过交互来更改设计 现在 用户完成更改后 可以提交他的设计及其电子邮件 ID 但为了提交设计 我使用以下方法将画布转换为图像http www nihilogic dk labs canvas2image http ww
  • 检测 JavaScript 中的焦点丢失

    我希望能够检测 JavaScript 中任意元素何时失去焦点 因此我可以构建一个类似于 jEdit 的内联编辑工具 我不能依赖 jQuery 来实现这个库 所以我需要一个本机方法来完成它 我查看了 onblur 这似乎是正确的事情 但 MD
  • 如何混淆或使 JavaScript 文件不可读?

    我的应用程序中有 JavaScript 脚本 其中包含 JavaScript 和 jQuery 函数 所有用户与我的应用程序的交互都是动态的 并且通过 jQuery 传递到应用程序 我意识到 当我在客户端运行我的应用程序时 客户端可以通过查
  • jQuery live() 和ready() 之间的区别?

    两者之间的确切区别是什么live and ready 编辑 发现die http docs jquery com Events die是相反的live ready http docs jquery com Events ready让你注册一
  • html输入数字,min + step,使step忽略min?

    是否有可能使step忽略min属性
  • Node.js - Async.js:并行执行如何工作?

    我想知道 async js 中并行执行是如何工作的 async require async async parallel function callback for var i 0 i lt 1000000000 i Do nothing
  • 如何在 Astro 中的组件之间共享状态?

    我相信我在代码中采用了错误的方法 如何在按钮单击中设置客户端首选项 该按钮单击用作全局 astro 组件中的道具 或者我应该怎么做 我知道这是可能的 因为 astro js 本身在他们的文档网站中这样做了 下面是我的尝试的解释 我目前正在开
  • JavaScript 比较中应使用哪个等于运算符(== 与 ===)?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我在用着JSLint http en wikipedia org wiki JSLint
  • 通过jquery ajax()和serialize()提交html表单

    我想通过 jquery ajax 提交此表单 这是我所做的 但它不起作用 即表单正在提交并刷新页面 但我没有看到响应 即在同一页面上打印数组 HTML

随机推荐

  • C# Word Interop - 在没有转换提示的情况下打开 .pdf

    我正在使用 Word Interop 希望打开 pdf 文件并让 Word 自动进行转换 我设置了以下属性 var wordApp new Word Application wordApp DisplayAlerts Word WdAler
  • Android:为什么在自定义视图中重写onMeasure()后,视图的文本无法在RalativeLayout中显示?

    我制作了一个扩展的自定义组件View并覆盖其onMeasure 该组件的内容是一些文本 然后我将其添加到RelativeLayout 但是如果我评论的话这个文字就无法显示onMeasure 文本显示已被覆盖 什么原因 这是代码 public
  • Kotlin 的 Float、Int 等是否针对 JVM 中的内置类型进行了优化? [复制]

    这个问题在这里已经有答案了 我是 Kotlin 的新手 AFAICT 的语法仅支持 Int Float 等对象版本 而不支持 Java 的相应 int 和 float 原语 但是如果可能的话 编译器或 JVM 是否会优化以使用原始类型 我担
  • Haskell RSS、邮件和 XML 库选择

    我已经学习 Haskell 一段时间了 随着我学习的每一种新的编程语言 我都会做一个小项目 需要使用邮件服务器并发布 RSS 和 Atom 内容 唯一的问题是 我似乎找不到合适的软件包 或者至少找不到任何软件包的评论 所以我会问社区 有没有
  • 从非托管 C++ 调用 C# 函数(通过托管包装器)

    我有一组库的 C 源代码和标头 我需要从 C 应用程序调用它们 我已经围绕我需要的函数创建了一个托管 C 包装器 并且能够从 C 中调用它们 向后和向前编组数据 现在是困难的部分 我的非托管 C 库在运行时生成状态消息 我希望能够从调用的
  • 如何在 CheckedListbox 中 CheckOnClick 但仅在复选框上方时进行 CheckOnClick?

    我有一个 CheckedListBox 我希望能够在单击文本时选择项目 但在单击左侧的复选框区域时选中 取消选中它们 如果我设置 CheckOnClick 那么每当我单击时 即使在文本上 项目也会被选中和取消选中 所以这是不好的 但是 如果
  • 如何避免高内存使用应用程序内存不足? C/C++

    我编写了一个转换器 它采用 openstreetmap xml 文件并将它们转换为二进制运行时渲染格式 该格式通常约为原始大小的 10 输入文件大小通常为 3GB 或更大 输入文件不会一次全部加载到内存中 而是以收集点和多边形的方式进行流式
  • 在路线中使用航点 - Google 地图路线服务

    如果我将航点添加到我的谷歌地图 功能 calcRoute 不起作用 如何正确设置航点 Thanks
  • 匹配字符串中的子集

    假设我有 String x ab String y xypa 如果我想看看 y 中是否存在 x 的任何子集 最快的方法是什么 循环很耗时 在上面的例子中 x 的子集是 a 它可以在 y 中找到 答案确实取决于很多因素 如果你只是想找到any
  • 无法在asp.net core中使用ajax将json发布到控制器

    我有以下代码 控制器动作方法 HttpPost public async Task
  • 有没有一种方法可以比较阿拉伯字符而不考虑它们的首/中/尾形式?

    在拉丁字母中 字母有大写和小写两种形式 在Python中 如果你想比较两个字符串而不考虑它们的大小写 你可以使用以下命令将它们转换为相同的大小写 string upper or string lower 在阿拉伯文字中 字母可以有词首 词尾
  • 聚合 MongoDB 中的不同值

    我有一个 mongodb 数据库 有 18625 个集合 它有以下键 id ObjectId 5aab14d2fc08b46adb79d99c game id NumberInt 4 score phrase Great title NHL
  • 长时间尝试语句

    将函数的大部分代码放在一个函数中是否有任何缺点 try statement 如果我做某事需要try statement 我通常最终会在 try 语句中为该函数做很多工作 因为我通常在那里声明我的变量 并且如果我这样做 就不能在该范围之外使用
  • 从 UART 接收的数据中获取子字符串并放入 LCD

    发布为基于的新问题this one https stackoverflow com questions 59559083 is there string in c OP 最初对已回滚的问题进行了巨大更改 因为用户表示他们无法自己提出问题 A
  • Python 与 Ruby 进行元编程 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在导入模块期间访问 PrivateData

    我想加载 config xml 文件的内容并将其存储在 PrivateData当我的模块加载时 这是我的 PSD1 中的定义行 Private data to pass to the module specified in ModuleTo
  • 使用 WPF shell 集成库最大化时窗口超出屏幕

    我正在使用WPF Shell 集成库 http code msdn microsoft com WPFShell创建我的 wpf 应用程序的自定义 chrome 一切都很好 但是当最大化应用程序时 屏幕外会出现 6 或 7 个像素 这是我正
  • 是否有 link.exe 的替代链接器?

    我正在开发一个代理 DLL 并希望导出其中包含 字符的符号 然而 这个字符似乎对 link exe 有特殊含义 我猜实际上是对 lib exe 给定一个 C 文件 extern C void f I can创建一个导出的 DLLf as f
  • 复杂表达式中的后缀增量运算符究竟何时计算?

    说我有这样的表情 short v p i 0xFF lt lt 4 p i 0xF0000000 gt gt 28 with p是一个指向动态分配的 32 位整数数组的指针 When exactly will i会增加吗 我注意到上面的代码
  • 克隆 JavaScript 事件对象

    有人知道如何对本机 javascript 事件对象进行深度复制 克隆吗 我知道我可以创建一个新的事件对象并手动设置适当的属性以匹配原始事件 但如果有一种方法可以克隆 那就容易多了 上面的代码不会正确复制任何 getter setter 尝试