我在使用jQuery的clojurescript,但答案应该是相同的cljs和js我认为。在jQuery中,如何将事件传递给父锚?
我有一个辅助函数,它创建一个锚元素,然后在其中放置一个图标元素。我的锚点有一个类型为按钮的独特类。
当我这样做
$( '我-BTN型'。)点击(函数(E){执行console.log(e.target)})。
- 打印如果图标点击(即使处理器是在父)
- 打印如果只锚点击
我经常有其中由包裹图标的问题锚点是事件目标,而不是附加处理程序的锚点。我在我的处理函数中需要的锚元素中使用数据属性。这迫使我手动检查event.target是图标还是锚点,然后手动冒泡事件或向前移动。
这看起来很骇人,而且是一种痛苦。在jQuery,js或clojurescript中必须有一个简单的方法来附加处理程序,它只会调用处理程序绑定的元素。我该怎么做呢?
编辑:
使用“本”是我需要什么,但在clojurescript的这个,因为需要宏。这个线程有一个例子enter link description here
'this'总是引用您绑定的事件的元素。 – 2013-03-20 17:40:32
所以问题是,点击图标时会触发事件吗? – yoshi 2013-03-20 17:41:51
我没有意识到是这种情况。很高兴知道。不幸的是,我一直无法从clojurescript访问“this”对象。也许它保证另一个线程,如果使用“this”是做我想做的事的惯用方式。 – 2013-03-20 17:43:07