如何在jQuery语句中使用Javascript构造函数方法

How do you use Javascript constructor methods in a jQuery statement?

本文关键字:Javascript 构造函数 方法 jQuery 语句      更新时间:2023-09-26

我不知道如何在jQuery.click方法中使用Javascript构造函数方法。我正试图让一个按钮的函数根据构造函数进行动态更改。设置如下:

<button onclick="">
</button>

需要调用一个根据另一个按钮而更改的方法。以下是我的坏代码:

    function GloveMode (name , array) {
        this.colorArray = array;
        this.displaySettings = function(){
            //Title
            $("#displayTitle").text(this.name);
            //Display Color Set
            $("#displayColors").empty();

            //Totally Broken
            $("#upArrow").click( function(){
                addColor();
            }); 
        };
        this.addColor = function(){
            console.log(this.colorArray.length);
        };
    };

我不知道如何获得$("#upArrow").click()来正确调用this.colorArray,也不知道如何在.click方法中调用this.addColor()!请帮忙。

您的问题是"this"在每个函数体中的含义不同。因此,将所需的"this"保存为变量,例如"self",然后使用that。

function GloveMode (name , array) 
{
    var self = this;
    this.colorArray = array;
    this.displaySettings = function()
    {
      //Title
      $("#displayTitle").text(this.name);
      //Display Color Set
      $("#displayColors").empty();
      //Totally Broken
      $("#upArrow").click( function()
      {
         self.addColor();
      }); 
    };
    this.addColor = function()
    {
       console.log(self.colorArray.length);
    };
};