2

我正在尝试为一个元素构建一个包装器,并且我想为我的包装器创建一个无缝集成。为了实现这一点,我想将所有事件从一个元素传播到另一个元素,以创建一个镜像来说明这一点。

假设我有#element-1 和#element-2。我给#element-1 一个“点击”处理程序。期望的行为是每当点击发生时,无论是在#element-1 还是#element-2,处理程序都应该触发。此外,如果为 #element-2 分配了不同的“点击”处理程序,则两个处理程序都应触发。

不要担心无限冒泡,我会找到一种机制来解决这个问题。我的问题是如何在不编写所有事件名称的情况下为这两个元素的所有可能事件实现此事件镜像(我还想获取自定义事件,因此对事件名称进行硬编码不是一种选择)?

我对可能不使用 jQuery 的解决方案持开放态度,只要它实现了我所描述的。

4

1 回答 1

0

假设在 div ids #event-1, #event-2, ... #event-10 中有 10 个锚元素。您可以编写如下事件处理程序。

for(i=0;i<=10;i++) {
  if ($(".event-"+i).find('a').length > 0) {
    var g = $(".event-"+i).find('a');
    g.click(function(){
      /* Your code */
    });
  }
}
于 2015-12-23T11:41:41.193 回答