0

私はボタンプログラムに取り組んでいます。ButtonHTML で見つかった各ボタンに割り当てられたオブジェクトがあります。ボタンにはさまざまな種類があるため、それぞれの種類に適したオブジェクトを作成する別のコンストラクターが必要です。

Buttonこれらの個別のコンストラクターを呼び出す方法は理解していますが、オブジェクトに特定の変数を適用するためにコンストラクターに何を入れればよいかわかりません。

ボタン オブジェクトの例:

var Button = function(){
    if (buttonType == 'type1'){
        buttonType1(); //set onclick, onmouseover/mouseout, onmousedown/mouseup
    }
    else{
        buttonType2(); //set different ways to handle events
    }
}

Buttonオブジェクトの作成方法:

var buttons = document.getElementsByClassName('button');

Buttons = new Buttons_Objs(); //An object to store references to all Button Objs.

for (i = 0 ; i < buttons.length ; i++){
    button = buttons[i];
    buttonType = button.getAttribute('type');
    Buttons['button' + i] = new Button(button, buttonType);
}

Buttononclick などを設定するためにこれらの関数をどのように構成すればよいでしょうか。また、オブジェクトを混雑させたくない場合は、それらを格納するのに適した場所はどこでしょうか。

4

1 に答える 1

1

あなたが提示したのは、次のように引数を追加できる通常のjavascript関数(コンストラクター関数ではない)だけです:

var Button = function(buttonType){
    if (buttonType == 'type1'){
        buttonType1(); //set onclick, onmouseover/mouseout, onmousedown/mouseup
    }
    else{
        buttonType2(); //set different ways to handle events
    }
}

そして、次のように呼び出します。

Button("type1");
于 2012-12-23T02:12:50.590 に答える