backbone.js单击和模糊事件

jjhzyzn0  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(147)

我在backbone的blur和click事件上遇到了一些麻烦。我有一个视图(代码如下),它创建了一个带有按钮的小搜索入口div。我弹出这个div并把焦点放在入口字段上。如果有人点击关闭(blur),我会通知父视图关闭这个视图。如果他们点击了按钮,我会启动一个搜索。
blur行为工作正常,但是当我点击按钮时,我也得到了blur事件,而不能得到click事件。我的结构正确吗?
顺便说一句,其他一些帖子建议在div中添加定时器,以防它在click事件触发之前关闭。我可以完全注解掉关闭,但仍然只得到blur事件。这些事件是否在某种先com先服务的基础上一次只触发一个?

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!");
    }
});

相关问题