Javascript 具有自定义事件对象的触发器事件处理程序
是否可以使用自定义事件对象在某个对象上触发事件? i、 e 一点背景: 在我的例子中,Element2是Element1的一个几乎相同的克隆,但位置不同。单击Element2时,该单击应转发给Element1 我已经有代码根据单击了Element2的哪个子元素来标识Element1的正确子元素,但是元素1的子元素上的click事件处理程序要求正确设置pageX和pageY属性。click()完全忽略这些属性 在我的示例中,由于target属性设置不正确,所以只进行深度克隆并包含事件处理程序是不够的 我的实例中的一个解决方法是,克隆元素保留对原始元素(以及每个子元素)的引用,处理程序检查该引用,但是,我更喜欢处理程序不知道克隆过程的解决方案,尤其是因为有很多处理程序要修改 您可以尝试使用它,它接受一个事件对象作为参数Javascript 具有自定义事件对象的触发器事件处理程序,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,是否可以使用自定义事件对象在某个对象上触发事件? i、 e 一点背景: 在我的例子中,Element2是Element1的一个几乎相同的克隆,但位置不同。单击Element2时,该单击应转发给Element1 我已经有代码根据单击了Element2的哪个子元素来标识Element1的正确子元素,但是元素1的子元素上的click事件处理程序要求正确设置pageX和pageY属性。click()完全忽略这些属性 在我的示例中,由于target属性设置不正确,所以只进行深度克隆并包含事件处理程序是不够
$('#Element1').trigger(event);
演示:我不太了解您的背景逻辑,但您可以尝试使用jQuery中的
触发器。您可以使用事件对象触发事件:
$('#Element1').click(function(event){
console.log('Element1 clicked with changed event: ' + event.something);
});
$('#Element2').click(function(event){
event.something = "Something";
$('#Element1').trigger(event);
});
我应该正确阅读文档-我没有发现触发器函数的第二个过载。
$('#Element1').click(function(event){
console.log('Element1 clicked with changed event: ' + event.something);
});
$('#Element2').click(function(event){
event.something = "Something";
$('#Element1').trigger(event);
});