在jQuery中,如果需要,我如何将事件传递给父锚?

我在使用jQuery的clojurescript,但我认为cljs和js的答案应该是相同的。

我有一个辅助函数,它创建一个锚元素,然后在其中放置一个图标元素。 我的锚有一个独特的按钮类型类。

当我做的事情

$(’。my-btn-type’)。click(function(e){console.log(e.target)});

  • 如果单击图标则打印(即使处理程序在父项上)
  • 如果仅单击锚点则打印

我经常遇到一个问题,即由锚包装的图标是事件目标,而不是附加了处理程序的锚。 我在我的锚点元素中使用数据属性,这在我的处理函数中是必需的。 这迫使我手动检查event.target是图标还是锚点,然后手动冒泡事件或向前移动。

这似乎是hackish,是一种痛苦。 必须有一种简单的方法来附加jQuery,js或clojurescript中的处理程序,它只会调用处理程序绑定的元素。 我该怎么做呢?

编辑:

使用“this”是我所需要的,但是在clojurescript中需要这个宏。 这个post有一个例子在这里输入链接描述

如果我理解正确,您似乎正在为锚点和图标连接点击事件。

或者锚点和图标具有相同的类名。

例如: