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 に答える