Index: misc/tableheader.js =================================================================== RCS file: /cvs/drupal/drupal/misc/tableheader.js,v retrieving revision 1.15 diff -u -r1.15 tableheader.js --- misc/tableheader.js 23 Jan 2008 09:48:10 -0000 1.15 +++ misc/tableheader.js 27 Jan 2008 21:35:23 -0000 @@ -1,5 +1,13 @@ // $Id: tableheader.js,v 1.15 2008/01/23 09:48:10 goba Exp $ +Drupal.tableHeaderOnScroll; + +Drupal.tableHeaderDoScroll = function() { + if (Drupal.tableHeaderOnScroll) { + Drupal.tableHeaderOnScroll(); + } +}; + Drupal.behaviors.tableHeader = function (context) { // This breaks in anything less than IE 7. Prevent it from running. if (jQuery.browser.msie && parseInt(jQuery.browser.version) < 7) { @@ -58,14 +66,20 @@ $(e).css({left: -hScroll + e.hPosition +'px', visibility: visState}); }; + // Only attach to scrollbars once, even if Drupal.attachBehaviors is called + // multiple times. + if (!$('body').hasClass('tableHeader-processed')) { + $('body').addClass('tableHeader-processed'); + $(window).scroll(Drupal.tableHeaderDoScroll); + $(document.documentElement).scroll(Drupal.tableHeaderDoScroll); + } + // Track scrolling. - var scroll = function() { + Drupal.tableHeaderOnScroll = function() { $(headers).each(function () { tracker(this); }); }; - $(window).scroll(scroll); - $(document.documentElement).scroll(scroll); // Track resizing. var time = null;