我在使用jQuery的clojurescript中,但我认为cljs和js的答案应该相同。
我有一个辅助函数,它创建一个锚元素,然后在其中放置一个图标元素。我的锚有一个独特的按钮类型类。
当我做
之类的事情时$('。my-btn-type')。click(function(e){console.log(e.target)});
我经常遇到一个问题,即由锚点包装的图标是事件目标,而不是附加了处理程序的锚点。我在我的锚点元素中使用数据属性,这在我的处理函数中是必需的。这迫使我手动检查event.target是图标还是锚点,然后手动冒泡事件或继续前进。
这看起来很乱,很痛苦。必须有一种简单的方法来附加jQuery,js或clojurescript中的处理程序,它只会调用处理程序绑定的元素。我该怎么做?
编辑:
使用“this”是我所需要的,但在clojurescript中需要这个宏。这个帖子有一个例子enter link description here
答案 0 :(得分:0)
如果我理解正确,您似乎正在为锚点和图标连接点击事件。
或者锚点和图标具有相同的类名。
例如:
<a href="#" class="my-btn-type" >
<img src="../img/icon.png" class="my-btn-type" />
</a>