从外部访问JQuery Widget Option属性

时间:2016-08-25 14:41:17

标签: jquery jquery-ui

如何访问我的JQuery UI Widgets options属性?例如,如何从外部访问选项name

$.widget( "my.myWidget", {

    options: {
        name: "foo"
    },
});

以下内容无效,另请参阅JSFiddle

$(document).ready(function() {

    var w = $('<p>abc</p>')
        .appendTo('body')
        .myWidget({name: "bar"});

    // How do I access the option/property 'name'?
    alert("Name=" + w.name);
    alert("Name=" + w.options.name);
    alert("Name=" + w.myWidget('name'));
});

1 个答案:

答案 0 :(得分:1)

我已经使用了widget选项,我发现你需要为你的新widget创建每个方法。

我已经用这种方式重写了它:

(function ($) {

$.widget( "my.myWidget", {

    options: {
            name: "foo"
        },
    value(){
        return this.options;
    },
  });
})(jQuery);

$(document).ready(function() {

  var w = $('p').myWidget({name: "bar"});

  alert("Name=" + w.myWidget("value").name);
});

其中myWidget("value")值是窗口小部件中声明的函数的名称。

updated jsfiddle