У меня есть вид <select>
, который имеет метод, который я хочу вызывать всякий раз, когда на нем происходит событие click
или <option>
.Делегированное событие клика, не срабатывающее на потомках
мнение выглядит следующим образом:
mySelect = Backbone.view.extend({
el: '.my-select',
events: {
'click': 'isSelected'
},
isSelected: function(e) {
console.log(e.currentTarget.tagName);
}
});
В настоящее время isSelected()
срабатывает только при нажатии на самом select
и не options
.
Я пробовал 'click option'
, 'click *'
и 'click .my-select > option'
.
Что мне не хватает?
Какой браузер вы тестирование на? https://www.fxsitecompat.com/en-CA/docs/2016/events-on-option-no-longer-bubble-up-to-select-in-multi-process-firefox/. Кроме того, есть ли причина, по которой вам нужно слушать 'click', а не' change'? –
@ EricGuan, это в Chrome. В настоящее время я слушаю «change», и я скрываю выбор. Однако при нажатии одной и той же опции «change» не запускается, и выбор все еще отображается: \ – Rhono