2013-06-19 117 views
2

我们已经将jquery ui工具提示扩展到了自定义小部件。我们需要进一步扩展这一点,而不必触及自定义小部件。我很难得到这个工作。请帮忙。扩展已扩展的jqueryUI工具提示小部件

(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); 

回答

0

您可以用同样的方式扩展它,因为原来的小工具,你需要的是自定义窗口部件的构造方法:

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

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