是否可以通过自定义事件对象触发某个对象上的事件? 即带自定义事件对象的触发事件处理程序
$('#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);
});
一点背景:
在我的实例元素2是元素1的但具有不同的位置几乎相同的克隆。当单击元素2时,该点击应该被转发到元素1。
我已经有代码来根据Element2的哪个子元素被点击来标识Element1的正确子元素,但元素1的子元素上的click事件处理程序需要正确设置pageX和pageY属性,并且.click()省略这些属性完全。
它确实不是在我的示例中,只需执行深度克隆并包含事件处理函数即可,因为目标属性设置不正确。
在我的实例中的一个解决方法是克隆的元素保留对原始元素(对于每个子元素)的引用以及检查该引用的处理程序,但是,我更喜欢解决方案,其中处理程序没有了解克隆过程 - 不仅仅是因为有很多处理程序需要修改!
我应该正确阅读文档 - 我没有发现触发器功能的第二次重载。 – DJL