【问题标题】:How to extend a widget to include new functionality?如何扩展小部件以包含新功能?
【发布时间】:2011-01-13 00:43:11
【问题描述】:

让我们想象自己创建了一个 jQuery 小部件。我们正在使用 jquery.ui.widget 来完成任务。我们想创建一个带有红色边框的简单方形 div。好吧,让它成为我们未来扩展小部件的框架。

(function ($) {
    $.widget('ns.redsquare', {
        _create: function () {
            var elem = this.element;

            elem.css({
                width: 100,
                height: 100,
                border: 'solid 1px red'
            });

            $(this.element).appendTo('body');
        }

        // probably a lot of other functionality follows
    }

    $(document).ready(function () {
        $('<div/>').redsquare();
    });
})(jQuery);

所以,未来来了。我们想要扩展我们的红色方块,使其包含一个带有绿色边框的方形 div。当然,孩子应该比父母小一点。问题是“如何扩展小部件以包含新功能?”。也就是说,我们如何扩展(不改变的源代码)我们的红色方块以帮助我们的绿色方块拥有父级?红色方块的代码应保持不变;绿色方块应该有自己的代码,但包含红色方块可能提供的所有功能

注意:此处提供的小部件示例不是真实的;这只是我的另一个不幸的例子。

【问题讨论】:

    标签: jquery jquery-ui


    【解决方案1】:

    使用子类化过程解释here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2021-09-20
      • 2021-08-23
      • 1970-01-01
      相关资源
      最近更新 更多