如何创建一个完全独立的新事件对象,其中包含与给定事件对象完全相同的所有属性e
。到目前为止,我已经尝试了以下但没有运气:
function myHandler(e) {
// ...
e = e.originalEvent;
// method 1
var e2 = jQuery.extend(true, {}, e);
// method 2
var e2 = JSON.parse(JSON.stringify(e));
// ...
}
编辑:我将添加更多细节以帮助澄清。与我正在尝试做的这个问题非常相似: div.dispatchEvent(e.originalEvent)
,但这样做会导致:
DISPATCH_REQUEST_ERR:DISPATCH_REQUEST_ERR:DOM 事件异常 1
所以为了避免这种情况,我需要复制事件对象。但是,此事件对象不是特定的(即,有时e
是 a touchstart
、touchmove
或touchend
),因此如果我可以获得通用的克隆功能而不是硬编码特定属性会更容易。我所说的“不走运”的意思是,通过尝试上述方法并通过调度函数发送它,我得到了错误。希望这有助于澄清一点。