Я в clojurescript, используя jQuery, но ответ должен быть таким же для cljs и js, я думаю.В jQuery, как передать событие в родительский якорь, если необходимо?
У меня есть вспомогательная функция, которая создает создает элемент привязки, а затем помещает внутри него элемент значка. У моего якоря есть уникальный класс для типа кнопки.
Когда я что-то вроде
$ ('мой-БТН-типа.') Нажмите (функция (е) {console.log (e.target)}).
- печатает если значок щелкнул (даже если обработчик на родителя)
- печатает, если только якорь щелкнул
меня постоянно проблема, где значок, который обернут anchor - это цель события, а не якорь с прикрепленным к нему обработчиком. Я использую атрибуты данных в элементе привязки, которые необходимы в моей функции обработчика. Это заставляет меня вручную проверять, является ли event.target значком или якорем, а затем вручную пузырится событие или двигаться вперед.
Это кажется хакерским и является болью. Должен быть простой способ привязать обработчик в jQuery, js или clojurescript, который будет вызывать только элемент, к которому привязан обработчик. Как мне это сделать?
редактировать:
Использование «это» было то, что мне было нужно, но в clojurescript это, поскольку макрос требуется. В этой теме есть пример enter link description here
'this' всегда будет ссылаться на элемент, который вы связали событие. –
Итак, проблема заключается в том, что событие запускается при нажатии значка? – yoshi
Я не понимал, что это так. Это хорошо знать. К сожалению, я не смог получить доступ к этому «объекту» из clojurescript. Может быть, это оправдывает другой поток, если использовать «это» - это идиоматический способ делать то, что я хочу. –