为什么设置我的窗口小部件选项评估对象而不是作为键和值传递?

时间:2013-01-28 19:35:01

标签: jquery jquery-ui jquery-plugins

我使用小工具工厂创建(或尝试创建)jQuery UI小部件,并按照以下方式设置我的_setOptions方法:http://wiki.jqueryui.com/w/page/12137708/How%20to%20use%20jQuery%20UI%

_setOptions: function (key, value) {
    if (this.options[key] !== value) {
        this.options[key] = value;
        this._update();
    }
},

这是我的选项对象:

 options: {
            title: 'Legend',
            colors: ['#0000CC', '#6600CC', '#009900', '#990000', '#6600FF', '#CCFF00', '#FF9900', '#000000', '#FFFFFF', '#00FF00'],
            items: undefined
        }

但是,当我为我的图例小部件传递新的标题值时,我会在key中找到key而不是value_setOptions的对象。对于记录,value未定义。

$('#myLegend').legend('option', 'title', 'New Title');

The key object

我的期望是:

key==='title'
value==='New Title'

如果有一些常见的误解,我会失踪,或者有人会想到为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

使用第一个参数的对象调用_setOptions方法,它包含所有已更改选项的键/值对。

http://api.jqueryui.com/jQuery.widget/#method-_setOptions

你可能想要使用的是_setOption而不是_setOptions