2011-09-11 63 views
1

我在模糊和骨幹點擊事件中遇到了一些麻煩。我有一個視圖(下面的代碼),用按鈕創建一個小搜索條目div。我彈出打開這個div並把重點放在輸入字段。如果有人點擊(模糊),我通知父視圖關閉此視圖。如果他們點擊按鈕,我會開始搜索。backbone.js點擊和模糊事件

模糊行爲工作正常,但是當我點擊按鈕時,我也得到一個模糊事件,無法獲得點擊事件。我有沒有這種結構化的權利?

順便說一句,其他一些職位已建議的事情,如添加定時器到div的情況下,在點擊事件觸發前被關閉。我可以完全評論這個關閉,但仍然只能得到模糊事件。這些只能以某種先到先得的方式一次點燃嗎?

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

您在「events」列表中綁定的事件由jquery處理,backbone提供回調方法並連接回調。建議先使用jquery做這項工作,然後你應該能夠使它與骨幹一起工作好吧 –

+0

是的,那就是訣竅。謝謝!基於這些信息,我發現這篇文章提供了最終線索如何使這項工作:http://forum.jquery.com/topic/click-blur – Greg

+0

你可以發佈最後的線索是什麼,以及它如何幫助你解決你的問題? – alxndr

回答

0

我不確定是什麼問題,但這裏是jsbin code