backbone.js события нажатия и размытия - PullRequest
1 голос
/ 11 сентября 2011

У меня проблемы с размытием и щелчками в магистрали. У меня есть представление (код ниже), которое создает небольшой 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!");
    }
});

1 Ответ

0 голосов
/ 31 января 2012

Я не уверен, в чем проблема, но вот код jsbin .

...