2011-09-11 4 views
1

バックボーンのぼかしとクリックイベントに問題があります。私はボタンで小さな検索エントリのdivを作成するビュー(コード)があります。私はこのdivを開き、入力フィールドに焦点を当てます。誰かがクリック(ぼかし)した場合、私はこのビューを閉じるために親ビューに通知します。彼らがボタンをクリックすると、私は検索を開始します。backbone.jsイベントをクリックしてぼかしをかける

ぼかしの振る舞いはうまくいきますが、ボタンをクリックするとぼかしイベントが発生し、クリックイベントを取得できなくなります。この構造化された権利を持っていますか?

ところで、他の投稿の中には、クリックイベントが発生する前に閉じられている場合のタイマーの追加などがあります。私はクローズを完全にコメントにして、ブラーイベントだけを得ることができます。これらは、何らかのファースト・コム・ファースト・サーブ・ベースで一度に1つだけ発射されますか?

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によって処理され、バックボーンはコールバックメソッドを提供し、コールバックをワイヤリングします。最初にjqueryでこの作業を行うことをお勧めします。次に、バックボーンでうまく動作するようにする必要があります。 –

+0

はい、これがトリックでした。ありがとう!この情報に基づいて私は、この作業を行うための最終的な手がかりを提供したこの記事を見つけました:http://forum.jquery.com/topic/click-blur – Greg

+0

最終的な手がかりと、それがどのように解決するのかを投稿できますか?あなたの問題? – alxndr

答えて

0

私は問題が何であるか分かりませんが、ここにはjsbin codeです。

関連する問題