是否可以使用自定义事件对象触发某个对象上的事件?IE
$('#Element1').click(function(event){
console.log('Element1 clicked', event);
}
$('#Element2').click(function(event)
{ //handle click on one element
//optionally modify the event object
event.target=Something;
//Trigger the event handler(s) on some other element using modified event object
$('#Element1').click(event);
});
一点背景:
在我的例子中,Element2 是 Element1 的几乎相同的克隆,但位置不同。单击 Element2 时,应将单击转发到 Element1。
我已经有代码来根据单击 Element2 的哪个子项来识别 Element1 的正确子项,但是元素 1 的子项上的单击事件处理程序需要正确设置 pageX 和 pageY 属性,并且 .click() 完全省略了这些属性。
在我的示例中,进行深度克隆并包含事件处理程序是不够的,因为目标属性设置不正确。
在我的实例中,一种解决方法是让克隆元素保留对原始元素(以及每个子元素)的引用,并让处理程序检查该引用,但是,我更喜欢处理程序不知道克隆的解决方案过程 - 尤其是因为有很多处理程序需要修改!