Jquery小部件回调。获得一个功能

时间:2010-12-31 19:15:51

标签: javascript jquery callback widget jquery-widgets

我添加了一个回调到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类的背景颜色。

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

1 个答案:

答案 0 :(得分: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
        }
    }