У меня проблемы с размытием и щелчками в магистрали. У меня есть представление (код ниже), которое создает небольшой div записи поиска с кнопкой. Я открываю этот div и фокусируюсь на поле ввода. Если кто-то щелкает (размытие), я уведомляю родительское представление, чтобы закрыть это. Если они нажмут на кнопку, я начну поиск.
Поведение размытия работает нормально, однако, когда я нажимаю на кнопку, я также получаю событие размытия и не могу получить событие щелчка. Я правильно понял это?
Кстати, в некоторых других сообщениях предлагались такие вещи, как добавление таймеров в div на случай, если он будет закрыт до срабатывания события click. Я могу полностью закомментировать закрытие и все же получить только событие размытия. Они запускаются только по одному на какой-то основе «первым пришел - первым обслужен»?
PB_SearchEntryView = Backbone.View.extend({
template: _.template("<div id='searchEntry' class='searchEntry'><input id='part'></input><button id='findit'>Search</button></div>"),
events: {
"click button": "find",
"blur #part": "close"
},
initialize: function(args) {
this.dad = args.dad;
},
render: function(){
$(this.el).html(this.template());
return this;
},
close: function(event){ this.dad.close(); },
find: function() {
alert("Find!");
}
});