You are here

README.txt in BeautyTips 8

Same filename and directory in other branches
  1. 6.2 README.txt
  2. 6 README.txt
  3. 7.2 README.txt
  
                        IMPORTANT INSTALLATION INSTRUCTIONS
  ------------------------------------------------------------------------------------
  In order for this module to work properly with IE, you will need to download the 
  ExplorerCanvas library, which can be found here - http://excanvas.sourceforge.net/.
  Place the downloaded directory 'excanvas_r3' inside the 'beautytips/other_libs' directory.
  Also, make sure that this file is accessable (readable).  A standard permission setting 
  of 755 should work for the excanvas_r3 folder (755 means permission settings - rwxr-xr-x)
  On Linux or Mac, you can do this with the command 'sudo chmod -R 755 excanvas_r3'

  Other than that, you just need to turn the module on in the usual Drupal way.

  --------------------------------------------------------------------------------------
                                   ABOUT THE MODULE
    
  The Beautytips module provides ballon-help style tooltip for any page element. 
  It integrates BeautyTips jQuery plugin by Jeff Robbins with Drupal.  Currently, this 
  module allows tooltips to appear with textfields and textareas.  It also supplies hover
  tips for Drupal help links and advanced help links.  Most importantly, it allows developers
  to add their own beautytips popups to their site without having to delve into jQuery.
  
  For information about the Beauty Tips jQuery plugin:
    http://www.lullabot.com/articles/announcing-beautytips-jquery-tooltip-plugin
    http://www.lullabot.com/articles/beautytips-09-release
  
  To see a demonstration:
    http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html

  ------------------------------------------------------------------------------------
                         Add beautytips js to every page
  ------------------------------------------------------------------------------------
  
  If you enable the option 'Add beautytips js to every page', then, anything with the 
  class 'beautytips' will automatically have a popup which displays the 'title' attribute 
  of the element.  If there is nothing in the title attribute, then there will be no popup.
  
  With this enabled, you can also define custom elements which will be given a beautytip.
  For example, you can set it up so that anything on any page with the id 'example'
  will have a popup.  Again, the content of the beauty will be pulled from the
  element's title attribute.

  --------------------------------------------------------------------------------------
                                 Custom Beautytips
  --------------------------------------------------------------------------------------
    Beautytips has an API so that you can create your own beautytips and add them into 
  any place on your site.  To do this, you will need to set up an array of options and 
  then pass them along to the beautytips_add_beautytips function.  All of the options are 
  outlined below.  This array will need to have a couple of important pieces of 
  information, and can accept a plethora of other optional info.

    1.  Each beautytip will need a name - distinct from other beautytips added on the 
        web page.
      ex. options['bt_drupal_help_page'] = array( . . .

    2.  Each beautytip will need a css(or jQuery) selector.  This is how the bt plugin 
        knows where to place the tooltip.
      ex. 'cssSelect' => '.help-items li a'

    3.  Each beautytip will need some text to display.  You can define what to display 
        in 3 different ways.
  
      a.  Use 'text' to directly add supply the text.  It can accept html.
        ex 1.  'text' => t('Here's some beautytips text to display on this page.'),
  
      b.  Use 'contentSelector' to use jQuery to tell beautytips where to find the text 
          on a page.
        ex 2.  'contentSelector' => '$(this).next(".description").html()',
        This tells beautytips to find the next item after the css selector with class 
        'description' and use display it's html
  
      c.  Use 'ajaxPath' to provide a place on another webpage that should be displayed.
    
        ex 3. 'ajaxPath' => 'demo.html',
        This will display that particular webpage within the tooltip balloon.
    
        ex 4.  'ajaxPath' => '$(this).attr("href")',
        This uses jQuery to find the url associated with the link that was selected with 
        the css selector and displays it.
    
        ex 5. 'ajaxPath' => array('$(this).attr("href"), '#squeeze.clear-block p'),
        This does the same thing as ex. 4, except it only displays the css-selected section of 
        the page.
  
      d.  If none of the above 3 options are given, the beautytips plugin will by default set 
      'contentSelector' to be '$(this).attr('title')'.

    4.  All other options are optional.  See the list below.
      ex.  'fill' => "rgb(255, 155, 55)" - sets the background color of the balloon.

  ------------------------------------------------------------------------------------
    ex. Full options array and function call to add beautytips

    $options['bt_drupal_help_page'] = array(
      'cssSelect' => '.help-items li a',
      'ajaxPath' => array("$(this).attr('href')", '.clear-block p'),
      'trigger' => array('mouseover', 'click'),
      'width' => 350,
    );
    beautytips_add_beautytips($options);
    
  ------------------------------------------------------------------------------------
                                     HOOK
  ------------------------------------------------------------------------------------
  
  hook_define_beautytips_styles() - allows a module to define its own base beautytips
  styles.  (See beautytips_api.module for an example). This allows easier use of 
  beautytips_add_beautytips by allowing a style to be indicated instead of having to 
  define all of the same options everytime.
  example of adding beautytips with the style option:
    $options['bt_drupal_help_page'] = array(
      'cssSelect' => '.help-items li a',
      'ajaxPath' => array("$(this).attr('href')", '.clear-block p'),
      'trigger' => array('mouseover', 'click'),
      'width' => 350,
      'style' => 'hulu',
    );
    beautytips_add_beautytips($options);
    
  This example will add beautytips to the help page using the 'hulu' style
  as defined in the implementation of this hook in beautytips_api.module.
  
  Any defined style will also show up on the beautytips settings page and
  can be set as the default style.

  ------------------------------------------------------------------------------------
                               Beautytips Manager
  ------------------------------------------------------------------------------------
  You can setup custom styles and custom tooltips using the beautytips_manage module.
  **TODO: The Rest**

  All styles are added into javascript settings in Drupal.settings.beautytipStyles
  in case you want to use the setup styles, but want to add you tooltips through
  javascript.
  **TODO: The Rest**
  
******************************************************************************
Beautytips options and defaults (Copied and pasted from the jQuery.bt.js file)
******************************************************************************
/**
 * Defaults for the beauty tips
 *
 * Note this is a variable definition and not a function. So defaults can be
 * written for an entire page by simply redefining attributes like so:
 *
 *   jQuery.bt.options.width = 400;
 *
 * Be sure to use *jQuery.bt.options* and not jQuery.bt.defaults when overriding
 *
 * This would make all Beauty Tips boxes 400px wide.
 *
 * Each of these options may also be overridden during
 *
 * Can be overriden globally or at time of call.
 *
 */
jQuery.bt.defaults = {
  trigger:         'hover',                // trigger to show/hide tip
                                           // use [on, off] to define separate on/off triggers
                                           // also use space character to allow multiple  to trigger
                                           // examples:
                                           //   ['focus', 'blur'] // focus displays, blur hides
                                           //   'dblclick'        // dblclick toggles on/off
                                           //   ['focus mouseover', 'blur mouseout'] // multiple triggers
                                           //   'now'             // shows/hides tip without event
                                           //   'none'            // use $('#selector').btOn(); and ...btOff();
                                           //   'hoverIntent'     // hover using hoverIntent plugin (settings below)
                                           // note:
                                           //   hoverIntent becomes default if available
                                           
  clickAnywhereToClose: true,              // clicking anywhere outside of the tip will close it 
  closeWhenOthersOpen: false,              // tip will be closed before another opens - stop >= 2 tips being on
                                           
  shrinkToFit:      false,                 // should short single-line content get a narrower balloon?
  width:            '200px',               // width of tooltip box
  
  padding:          '10px',                // padding for content (get more fine grained with cssStyles)
  spikeGirth:       10,                    // width of spike
  spikeLength:      15,                    // length of spike
  overlap:          0,                     // spike overlap (px) onto target (can cause problems with 'hover' trigger)
  overlay:          false,                 // display overlay on target (use CSS to style) -- BUGGY!
  killTitle:        true,                  // kill title tags to avoid double tooltips

  textzIndex:       9999,                  // z-index for the text
  boxzIndex:        9998,                  // z-index for the "talk" box (should always be less than textzIndex)
  wrapperzIndex:    9997,
  offsetParent:     null,                  // DOM node to append the tooltip into.
                                           // Must be positioned relative or absolute. Can be selector or object
  positions:        ['most'],              // preference of positions for tip (will use first with available space)
                                           // possible values 'top', 'bottom', 'left', 'right' as an array in order of
                                           // preference. Last value will be used if others don't have enough space.
                                           // or use 'most' to use the area with the most space
  fill:             "rgb(255, 255, 102)",  // fill color for the tooltip box, you can use any CSS-style color definition method
                                           // http://www.w3.org/TR/css3-color/#numerical - not all methods have been tested
  
  windowMargin:     10,                    // space (px) to leave between text box and browser edge

  strokeWidth:      1,                     // width of stroke around box, **set to 0 for no stroke**
  strokeStyle:      "#000",                // color/alpha of stroke

  cornerRadius:     5,                     // radius of corners (px), set to 0 for square corners
  
                    // following values are on a scale of 0 to 1 with .5 being centered
  
  centerPointX:     .5,                    // the spike extends from center of the target edge to this point
  centerPointY:     .5,                    // defined by percentage horizontal (x) and vertical (y)
    
  shadow:           false,                 // use drop shadow? (only displays in Safari and FF 3.1) - experimental
  shadowOffsetX:    2,                     // shadow offset x (px)
  shadowOffsetY:    2,                     // shadow offset y (px)
  shadowBlur:       3,                     // shadow blur (px)
  shadowColor:      "#000",                // shadow color/alpha
  shadowOverlap:   false,                  // when shadows overlap the target element it can cause problem with hovering
                                           // set this to true to overlap or set to a numeric value to define the amount of overlap
  noShadowOpts:     {strokeStyle: '#999'},  // use this to define 'fall-back' options for browsers which don't support drop shadows
  
  cssClass:         '',                    // CSS class to add to the box wrapper div (of the TIP)
  cssStyles:        {},                    // styles to add the text box
                                           //   example: {fontFamily: 'Georgia, Times, serif', fontWeight: 'bold'}
                                               
  activeClass:      'bt-active',           // class added to TARGET element when its BeautyTip is active

  contentSelector:  "$(this).attr('title')", // if there is no content argument, use this selector to retrieve the title
                                           // a function which returns the content may also be passed here

  ajaxPath:         null,                  // if using ajax request for content, this contains url and (opt) selector
                                           // this will override content and contentSelector
                                           // examples (see jQuery load() function):
                                           //   '/demo.html'
                                           //   '/help/ajax/snip'
                                           //   '/help/existing/full div#content'
                                           
                                           // ajaxPath can also be defined as an array
                                           // in which case, the first value will be parsed as a jQuery selector
                                           // the result of which will be used as the ajaxPath
                                           // the second (optional) value is the content selector as above
                                           // examples:
                                           //    ["$(this).attr('href')", 'div#content']
                                           //    ["$(this).parents('.wrapper').find('.title').attr('href')"]
                                           //    ["$('#some-element').val()"]
                                           
  ajaxError:        '<strong>ERROR:</strong> <em>%error</em>',
                                           // error text, use "%error" to insert error from server
  ajaxLoading:     '<blink>Loading...</blink>',  // yes folks, it's the blink tag!
  ajaxData:         {},                    // key/value pairs
  ajaxType:         'GET',                 // 'GET' or 'POST'
  ajaxCache:        true,                  // cache ajax results and do not send request to same url multiple times
  ajaxOpts:         {},                    // any other ajax options - timeout, passwords, processing functions, etc...
                                           // see http://docs.jquery.com/Ajax/jQuery.ajax#options
                                    
  preBuild:         function(){},          // function to run before popup is built
  preShow:          function(box){},       // function to run before popup is displayed
  showTip:          function(box){
                      $(box).show();
                    },
  postShow:         function(box){},       // function to run after popup is built and displayed
  
  preHide:          function(box){},       // function to run before popup is removed
  hideTip:          function(box, callback) {
                      $(box).hide();
                      callback();   // you MUST call "callback" at the end of your animations
                    },
  postHide:         function(){},          // function to run after popup is removed
  
  hoverIntentOpts:  {                          // options for hoverIntent (if installed)
                      interval: 300,           // http://cherne.net/brian/resources/jquery.hoverIntent.html
                      timeout: 500
                    }
                                               
}; // </ jQuery.bt.defaults >

  **Note: If you need to use 'preBuild', 'preShow', 'showTip', 'postShow', 'preHide', 'hideTip', or 'postHide', 
  then it's recommended that you add your beautytips in javascript instead of in using this module's api.
  

File

README.txt
View source
  1. IMPORTANT INSTALLATION INSTRUCTIONS
  2. ------------------------------------------------------------------------------------
  3. In order for this module to work properly with IE, you will need to download the
  4. ExplorerCanvas library, which can be found here - http://excanvas.sourceforge.net/.
  5. Place the downloaded directory 'excanvas_r3' inside the 'beautytips/other_libs' directory.
  6. Also, make sure that this file is accessable (readable). A standard permission setting
  7. of 755 should work for the excanvas_r3 folder (755 means permission settings - rwxr-xr-x)
  8. On Linux or Mac, you can do this with the command 'sudo chmod -R 755 excanvas_r3'
  9. Other than that, you just need to turn the module on in the usual Drupal way.
  10. --------------------------------------------------------------------------------------
  11. ABOUT THE MODULE
  12. The Beautytips module provides ballon-help style tooltip for any page element.
  13. It integrates BeautyTips jQuery plugin by Jeff Robbins with Drupal. Currently, this
  14. module allows tooltips to appear with textfields and textareas. It also supplies hover
  15. tips for Drupal help links and advanced help links. Most importantly, it allows developers
  16. to add their own beautytips popups to their site without having to delve into jQuery.
  17. For information about the Beauty Tips jQuery plugin:
  18. http://www.lullabot.com/articles/announcing-beautytips-jquery-tooltip-plugin
  19. http://www.lullabot.com/articles/beautytips-09-release
  20. To see a demonstration:
  21. http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html
  22. ------------------------------------------------------------------------------------
  23. Add beautytips js to every page
  24. ------------------------------------------------------------------------------------
  25. If you enable the option 'Add beautytips js to every page', then, anything with the
  26. class 'beautytips' will automatically have a popup which displays the 'title' attribute
  27. of the element. If there is nothing in the title attribute, then there will be no popup.
  28. With this enabled, you can also define custom elements which will be given a beautytip.
  29. For example, you can set it up so that anything on any page with the id 'example'
  30. will have a popup. Again, the content of the beauty will be pulled from the
  31. element's title attribute.
  32. --------------------------------------------------------------------------------------
  33. Custom Beautytips
  34. --------------------------------------------------------------------------------------
  35. Beautytips has an API so that you can create your own beautytips and add them into
  36. any place on your site. To do this, you will need to set up an array of options and
  37. then pass them along to the beautytips_add_beautytips function. All of the options are
  38. outlined below. This array will need to have a couple of important pieces of
  39. information, and can accept a plethora of other optional info.
  40. 1. Each beautytip will need a name - distinct from other beautytips added on the
  41. web page.
  42. ex. options['bt_drupal_help_page'] = array( . . .
  43. 2. Each beautytip will need a css(or jQuery) selector. This is how the bt plugin
  44. knows where to place the tooltip.
  45. ex. 'cssSelect' => '.help-items li a'
  46. 3. Each beautytip will need some text to display. You can define what to display
  47. in 3 different ways.
  48. a. Use 'text' to directly add supply the text. It can accept html.
  49. ex 1. 'text' => t('Here's some beautytips text to display on this page.'),
  50. b. Use 'contentSelector' to use jQuery to tell beautytips where to find the text
  51. on a page.
  52. ex 2. 'contentSelector' => '$(this).next(".description").html()',
  53. This tells beautytips to find the next item after the css selector with class
  54. 'description' and use display it's html
  55. c. Use 'ajaxPath' to provide a place on another webpage that should be displayed.
  56. ex 3. 'ajaxPath' => 'demo.html',
  57. This will display that particular webpage within the tooltip balloon.
  58. ex 4. 'ajaxPath' => '$(this).attr("href")',
  59. This uses jQuery to find the url associated with the link that was selected with
  60. the css selector and displays it.
  61. ex 5. 'ajaxPath' => array('$(this).attr("href"), '#squeeze.clear-block p'),
  62. This does the same thing as ex. 4, except it only displays the css-selected section of
  63. the page.
  64. d. If none of the above 3 options are given, the beautytips plugin will by default set
  65. 'contentSelector' to be '$(this).attr('title')'.
  66. 4. All other options are optional. See the list below.
  67. ex. 'fill' => "rgb(255, 155, 55)" - sets the background color of the balloon.
  68. ------------------------------------------------------------------------------------
  69. ex. Full options array and function call to add beautytips
  70. $options['bt_drupal_help_page'] = array(
  71. 'cssSelect' => '.help-items li a',
  72. 'ajaxPath' => array("$(this).attr('href')", '.clear-block p'),
  73. 'trigger' => array('mouseover', 'click'),
  74. 'width' => 350,
  75. );
  76. beautytips_add_beautytips($options);
  77. ------------------------------------------------------------------------------------
  78. HOOK
  79. ------------------------------------------------------------------------------------
  80. hook_define_beautytips_styles() - allows a module to define its own base beautytips
  81. styles. (See beautytips_api.module for an example). This allows easier use of
  82. beautytips_add_beautytips by allowing a style to be indicated instead of having to
  83. define all of the same options everytime.
  84. example of adding beautytips with the style option:
  85. $options['bt_drupal_help_page'] = array(
  86. 'cssSelect' => '.help-items li a',
  87. 'ajaxPath' => array("$(this).attr('href')", '.clear-block p'),
  88. 'trigger' => array('mouseover', 'click'),
  89. 'width' => 350,
  90. 'style' => 'hulu',
  91. );
  92. beautytips_add_beautytips($options);
  93. This example will add beautytips to the help page using the 'hulu' style
  94. as defined in the implementation of this hook in beautytips_api.module.
  95. Any defined style will also show up on the beautytips settings page and
  96. can be set as the default style.
  97. ------------------------------------------------------------------------------------
  98. Beautytips Manager
  99. ------------------------------------------------------------------------------------
  100. You can setup custom styles and custom tooltips using the beautytips_manage module.
  101. **TODO: The Rest**
  102. All styles are added into javascript settings in Drupal.settings.beautytipStyles
  103. in case you want to use the setup styles, but want to add you tooltips through
  104. javascript.
  105. **TODO: The Rest**
  106. ******************************************************************************
  107. Beautytips options and defaults (Copied and pasted from the jQuery.bt.js file)
  108. ******************************************************************************
  109. /**
  110. * Defaults for the beauty tips
  111. *
  112. * Note this is a variable definition and not a function. So defaults can be
  113. * written for an entire page by simply redefining attributes like so:
  114. *
  115. * jQuery.bt.options.width = 400;
  116. *
  117. * Be sure to use *jQuery.bt.options* and not jQuery.bt.defaults when overriding
  118. *
  119. * This would make all Beauty Tips boxes 400px wide.
  120. *
  121. * Each of these options may also be overridden during
  122. *
  123. * Can be overriden globally or at time of call.
  124. *
  125. */
  126. jQuery.bt.defaults = {
  127. trigger: 'hover', // trigger to show/hide tip
  128. // use [on, off] to define separate on/off triggers
  129. // also use space character to allow multiple to trigger
  130. // examples:
  131. // ['focus', 'blur'] // focus displays, blur hides
  132. // 'dblclick' // dblclick toggles on/off
  133. // ['focus mouseover', 'blur mouseout'] // multiple triggers
  134. // 'now' // shows/hides tip without event
  135. // 'none' // use $('#selector').btOn(); and ...btOff();
  136. // 'hoverIntent' // hover using hoverIntent plugin (settings below)
  137. // note:
  138. // hoverIntent becomes default if available
  139. clickAnywhereToClose: true, // clicking anywhere outside of the tip will close it
  140. closeWhenOthersOpen: false, // tip will be closed before another opens - stop >= 2 tips being on
  141. shrinkToFit: false, // should short single-line content get a narrower balloon?
  142. width: '200px', // width of tooltip box
  143. padding: '10px', // padding for content (get more fine grained with cssStyles)
  144. spikeGirth: 10, // width of spike
  145. spikeLength: 15, // length of spike
  146. overlap: 0, // spike overlap (px) onto target (can cause problems with 'hover' trigger)
  147. overlay: false, // display overlay on target (use CSS to style) -- BUGGY!
  148. killTitle: true, // kill title tags to avoid double tooltips
  149. textzIndex: 9999, // z-index for the text
  150. boxzIndex: 9998, // z-index for the "talk" box (should always be less than textzIndex)
  151. wrapperzIndex: 9997,
  152. offsetParent: null, // DOM node to append the tooltip into.
  153. // Must be positioned relative or absolute. Can be selector or object
  154. positions: ['most'], // preference of positions for tip (will use first with available space)
  155. // possible values 'top', 'bottom', 'left', 'right' as an array in order of
  156. // preference. Last value will be used if others don't have enough space.
  157. // or use 'most' to use the area with the most space
  158. fill: "rgb(255, 255, 102)", // fill color for the tooltip box, you can use any CSS-style color definition method
  159. // http://www.w3.org/TR/css3-color/#numerical - not all methods have been tested
  160. windowMargin: 10, // space (px) to leave between text box and browser edge
  161. strokeWidth: 1, // width of stroke around box, **set to 0 for no stroke**
  162. strokeStyle: "#000", // color/alpha of stroke
  163. cornerRadius: 5, // radius of corners (px), set to 0 for square corners
  164. // following values are on a scale of 0 to 1 with .5 being centered
  165. centerPointX: .5, // the spike extends from center of the target edge to this point
  166. centerPointY: .5, // defined by percentage horizontal (x) and vertical (y)
  167. shadow: false, // use drop shadow? (only displays in Safari and FF 3.1) - experimental
  168. shadowOffsetX: 2, // shadow offset x (px)
  169. shadowOffsetY: 2, // shadow offset y (px)
  170. shadowBlur: 3, // shadow blur (px)
  171. shadowColor: "#000", // shadow color/alpha
  172. shadowOverlap: false, // when shadows overlap the target element it can cause problem with hovering
  173. // set this to true to overlap or set to a numeric value to define the amount of overlap
  174. noShadowOpts: {strokeStyle: '#999'}, // use this to define 'fall-back' options for browsers which don't support drop shadows
  175. cssClass: '', // CSS class to add to the box wrapper div (of the TIP)
  176. cssStyles: {}, // styles to add the text box
  177. // example: {fontFamily: 'Georgia, Times, serif', fontWeight: 'bold'}
  178. activeClass: 'bt-active', // class added to TARGET element when its BeautyTip is active
  179. contentSelector: "$(this).attr('title')", // if there is no content argument, use this selector to retrieve the title
  180. // a function which returns the content may also be passed here
  181. ajaxPath: null, // if using ajax request for content, this contains url and (opt) selector
  182. // this will override content and contentSelector
  183. // examples (see jQuery load() function):
  184. // '/demo.html'
  185. // '/help/ajax/snip'
  186. // '/help/existing/full div#content'
  187. // ajaxPath can also be defined as an array
  188. // in which case, the first value will be parsed as a jQuery selector
  189. // the result of which will be used as the ajaxPath
  190. // the second (optional) value is the content selector as above
  191. // examples:
  192. // ["$(this).attr('href')", 'div#content']
  193. // ["$(this).parents('.wrapper').find('.title').attr('href')"]
  194. // ["$('#some-element').val()"]
  195. ajaxError: 'ERROR: %error',
  196. // error text, use "%error" to insert error from server
  197. ajaxLoading: 'Loading...', // yes folks, it's the blink tag!
  198. ajaxData: {}, // key/value pairs
  199. ajaxType: 'GET', // 'GET' or 'POST'
  200. ajaxCache: true, // cache ajax results and do not send request to same url multiple times
  201. ajaxOpts: {}, // any other ajax options - timeout, passwords, processing functions, etc...
  202. // see http://docs.jquery.com/Ajax/jQuery.ajax#options
  203. preBuild: function(){}, // function to run before popup is built
  204. preShow: function(box){}, // function to run before popup is displayed
  205. showTip: function(box){
  206. $(box).show();
  207. },
  208. postShow: function(box){}, // function to run after popup is built and displayed
  209. preHide: function(box){}, // function to run before popup is removed
  210. hideTip: function(box, callback) {
  211. $(box).hide();
  212. callback(); // you MUST call "callback" at the end of your animations
  213. },
  214. postHide: function(){}, // function to run after popup is removed
  215. hoverIntentOpts: { // options for hoverIntent (if installed)
  216. interval: 300, // http://cherne.net/brian/resources/jquery.hoverIntent.html
  217. timeout: 500
  218. }
  219. }; //
  220. **Note: If you need to use 'preBuild', 'preShow', 'showTip', 'postShow', 'preHide', 'hideTip', or 'postHide',
  221. then it's recommended that you add your beautytips in javascript instead of in using this module's api.