0

我向 jquery 小部件添加了回调。它将在控制台中输出数据,但我如何让它将某些东西应用于页面中的数据?

例子...

在我的小部件选项中,我已将以下内容用于接收输入:

 complete        : ''

并且还向小部件添加了一个方法:

_complete : function(data) {
        if(this.options.complete) {
            console.log(data);
        }
    }

在小部件的另一种方法中,我进行了 ajax 调用,然后_complete在 ajax 完成后调用使用此方法触发:

self._complete(self.options.complete);

因此,如果,当我使用小部件时,我将一些东西传递给complete选项,如下所示:

complete : function(){$('.gridrow').css('background-color','#FFF');}

我将在控制台中看到这个输出:

function(){$('.gridrow').css('background-color','#FFF');}

但我真正想要的是将其实际应用到代码中,以便它更改 gridrow 类的背景颜色。

我可以传入任何内容并在控制台中将其输出,但是如何将其实际应用到页面?

4

1 回答 1

1

我不确定你为什么需要将complete函数传递给你的_complete函数,当然你可以测试它然后执行它。关键变化是您必须complete使用以下方法调用该函数()

_complete : function() {
        if (this.options.complete) {
            this.options.complete(); // execute the input function
        }
    }

如果您希望将该函数的结果记录到控制台,请确保complete返回一个值:

complete : function() { return $('.gridrow').css('background-color','#FFF'); }

然后:

_complete : function() {
        if (this.options.complete) {
            console.log(this.options.complete()); // print the result
        }
    }
于 2010-12-31T19:26:05.147 回答