jquery - 扩展已扩展的 jqueryUI 工具提示小部件

标签 jquery widget extend

我们已经将 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);

最佳答案

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

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

// extend custom widget
var myExtendedTooltipWidget = $.widget('myExtendedTooltipWidget', myTooltipWidget, {
    // widget code here
});

关于jquery - 扩展已扩展的 jqueryUI 工具提示小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17199263/

相关文章:

javascript - 如何在进行过渡时淡入元素?

java - Eclipse 中自定义文本编辑器内的小部件

ios - 如何使今日提醒显示我需要的所有信息?

php - Laravel4/PHP : extending a class within different namespaced levels

jQuery 对话框不会显示关闭图标

javascript - JQGrid 工具栏过滤器并使用格式化列恢复处于编辑状态的行

html - Jquery 悬停单个元素时触发多个元素

iOS Today 小部件扩展 : detect if opened in lock screen

javascript - 即使构造函数调试显示为 true,使用 instanceof 检查 sequelize 错误也会导致 false

eclipse - 是否可以扩展 Eclipse 搜索菜单