2

我们已经将 jquery ui 工具提示扩展为自定义小部件。我们需要在不触及自定义小部件的情况下进一步扩展它。我很难让这个工作。请帮忙。

(function ($) {
var extensionMethods = {
        open: function () {
            var childElem = target.children('img');
                if (childElem.length) {
                    childElem.data('alt', childElem.attr('alt'));
                    childElem.removeAttr('alt');                
                }
            $ui.tooltip.prototype.open.apply(this, arguments);
            console.log("extension open works!");
        },
        close: function () {
            var childElem = target.children('img');
                if (childElem.data('alt')) {
                    childElem.attr('alt', childElem.data('alt'));
                }
            $ui.tooltip.prototype.close.apply(this, arguments);
            console.log("extension close works!");
        },        
    }

    var methods = $.extend(true, {}, $.ui.tooltip.prototype, extensionMethods);
    $.widget('my.customtooltip', methods);


})(jQuery);
4

1 回答 1

0

您可以以相同的方式扩展它,作为原始小部件,您只需要一个自定义小部件的构造函数:

// extend basic widget
var myTooltipWidget = $.widget('myTooltipWidget', $.ui.tooltip, {
    // widget code here
});

// extend custom widget
var myExtendedTooltipWidget = $.widget('myExtendedTooltipWidget', myTooltipWidget, {
    // widget code here
});
于 2016-09-28T21:16:42.220 回答