【问题标题】:backbone.js click and blur eventsBackbone.js 点击和模糊事件
【发布时间】:2011-11-14 20:16:15
【问题描述】:

我在处理主干中的模糊和点击事件时遇到了一些问题。我有一个视图(下面的代码),它创建一个带有按钮的小搜索条目 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!");
    }
});

【问题讨论】:

  • events 列表中绑定的事件由 jquery 处理,主干提供回调方法并连接回调。建议首先使用 jquery 进行这项工作,然后你应该能够让它与骨干一起正常工作
  • 是的,这就是诀窍。谢谢!基于此信息,我发现这篇文章提供了如何完成这项工作的最终线索:forum.jquery.com/topic/click-blur
  • 您能否发布最后的线索,以及它如何帮助您解决问题?

标签: events click backbone.js blur


【解决方案1】:

我不确定问题出在哪里,但这里是jsbin code

【讨论】:

    猜你喜欢
    • 2011-10-19
    • 2014-06-21
    • 2023-03-24
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 2011-09-17
    相关资源
    最近更新 更多