我在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类背景颜色。

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

有帮助吗?

解决方案

我不确定为什么您需要通过 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
        }
    }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top