2011-11-10 6 views
1

こんにちは私はbackbone.jsを使用して複数のビューにカスタム機能を実装しようとしています。たとえば、フォーカスを受け取ったときに視覚的な外観を変更するには、アプリケーションのすべての入力テキストボックスを持つ必要があります。 私は、Windowを継承することを考えています.BaseViewをBackbone.View.extendから取得し、すべてのビューでBaseViewを拡張する必要があります。 私が正しい方向にいるかどうか教えてください。あなたは他の提案がありますか?似たようなものを実装しましたか?backbone.jsを使用して複数のビューに共通の機能を実装する方法

答えて

1

異なるビューには異なる要素があり、同じフォーカス機能を複数回バインドすることも無駄であるため、私は同様のタスクにバックボーンを使用しませんでした。私は何だろうと、どちらかである:

//If document is the container for your application, else could be #myapplication and so on. 
jQuery(document).delegate('input[type="text"]', "focusin focusout", 
    function(e){ 

     if(e.type == "focusin") { 
     jQuery(this).addClass("textbox-focused"); 
     } 
     else { 
     jQuery(this).removeClass("textbox-focused"); 
     } 

    } 
); 

やCSS(ブラウザのサポートについてはよく分からない):

input[type="text"]:focus { 
background-color: blue; 
} 
3

私はベースのプロトタイプに共通の機能を入れて、すべてのビューがそれまたはIを拡張しています機能を備えたmixinオブジェクトを作成し、mixinでビューを拡張します。

関連する問題