0

我正在做一个按钮程序。我有一个Button分配给在 HTML 中找到的每个按钮的对象。由于有不同类型的按钮,我希望有一个不同的构造函数来使对象适合每种类型。

我知道我将如何调用这些单独的构造函数,但我不知道在构造函数中放入什么以使其将某些变量应用于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);
}

我将如何构造这些函数来设置 onclick 和东西,如果我不希望它们挤满我的Button对象,那么哪里是存储它们的好地方。

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 回答