2

ベース

  • オブジェクト内の別の関数から設定されたいくつかの変数を使用したい
  • 1 つの関数onUpdate:は、アプリケーション内の別の場所から呼び出しが行われるのを待ちます
  • 2 番目の関数、onRelease:マウス クリック後にトリガー

私が達成しようとしていること

DOM両方の機能に使用する必要がある要素がいくつかあります。ただし、document.onloadここでは a は機能しないため、何らかの に保存する必要があると考えていますJavaScript object

制限

(要素は this でのみ使用され、Object内で宣言する必要がありますObject)


:これはカスタムビルドappなので、少し混乱するかもしれませんが、現在の状況でこれができるかどうかだけを知る必要があります


質問

要素を保存/取得して、全体で使用できるようにする方法Javascript Objectsや何らかの機能はありますか?DOMObject

コード

var ObjB = exports.ObjB = ObjA.extend({

    /* Something to contain the DOM Elements E.g.
     UI = {
         domElement: document.querySelector('#dom')
     }, 
    */ 

    onUpdate: function() {
        if(domElement.hasClass('class')) { 
            // logic using other elements
        }
    },

    onRelease: function() {
        if(domElement.hasClass('class')) { 
            // logic using other elements  
        }
    }

});
4

1 に答える 1

0

dom 要素を複数回使用したい場合、および要素を使用するたびにセレクターを呼び出すことを避けたい場合は、この方法で行うことができますが、削除または一度だけ初期化this.setupUi()されるため、必要な要素を後で (最初に呼び出した後) 追加します。UI

var ObjB = exports.ObjB = ObjA.extend({

    onUpdate: function() {
        this.setupUi();

        if(this.UI.domElement.hasClass('class')) { 
            // logic using other elements
        }
    },

    onRelease: function() {

        this.setupUi();

        if(this.UI.domElement.hasClass('class')) { 
            // logic using other elements  
        }
    },

    setupUi : function() {
        if( !this.UI ) {
           this.UI = {};
           this.UI.domElement =  document.querySelector('#dom');
           //add all other elements that are required by the object
        }

    }

});
于 2013-02-12T14:16:18.157 に答える