Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #11472: dom_fix.diff

File dom_fix.diff, 2.8 kB (added by jdalton, 3 months ago)
  • dom.js

    old new  
    502502  }, 
    503503 
    504504  cumulativeOffset: function(element) { 
     505    element = $(element); 
    505506    var valueT = 0, valueL = 0; 
    506507    do { 
    507508      valueT += element.offsetTop  || 0; 
     
    512513  }, 
    513514 
    514515  positionedOffset: function(element) { 
     516    element = $(element); 
    515517    var valueT = 0, valueL = 0; 
    516518    do { 
    517519      valueT += element.offsetTop  || 0; 
     
    567569  }, 
    568570 
    569571  cumulativeScrollOffset: function(element) { 
     572    element = $(element); 
    570573    var valueT = 0, valueL = 0; 
    571574    do { 
    572575      valueT += element.scrollTop  || 0; 
     
    577580  }, 
    578581   
    579582  getOffsetParent: function(element) { 
     583    element = $(element); 
    580584    if (element.offsetParent) return $(element.offsetParent); 
    581585    if (element == document.body) return $(element); 
    582586     
     
    588592  }, 
    589593 
    590594  viewportOffset: function(forElement) { 
    591     var valueT = 0, valueL = 0
     595    forElement = $(forElement)
    592596 
    593     var element = forElement
     597    var element = forElement, valueT = 0, valueL = 0
    594598    do { 
    595599      valueT += element.offsetTop  || 0; 
    596600      valueL += element.offsetLeft || 0; 
     
    613617  }, 
    614618 
    615619  clonePosition: function(element, source) { 
     620    element = $(element); 
    616621    var options = Object.extend({ 
    617622      setLeft:    true, 
    618623      setTop:     true, 
     
    627632    var p = source.viewportOffset(); 
    628633 
    629634    // find coordinate system to use 
    630     element = $(element); 
    631635    var delta = [0, 0]; 
    632636    var parent = null; 
    633637    // delta [0,0] will do fine with position: fixed elements,  
     
    706710   
    707711  Element.Methods.readAttribute = Element.Methods.readAttribute.wrap( 
    708712    function(proceed, element, attribute) { 
    709       if (attribute === 'title') return element.title; 
     713      if (attribute === 'title') return $(element).title; 
    710714      return proceed(element, attribute); 
    711715    } 
    712716  );   
     
    753757   
    754758  Element.Methods.cumulativeOffset = Element.Methods.cumulativeOffset.wrap( 
    755759    function(proceed, element) { 
    756       try { element.offsetParent } 
     760      try { $(element).offsetParent } 
    757761      catch(e) { return Element._returnOffset(0,0) } 
    758762      return proceed(element); 
    759763    } 
     
    918922  // positioned.  For performance reasons, redefine Element#cumulativeOffset for 
    919923  // KHTML/WebKit only. 
    920924  Element.Methods.cumulativeOffset = function(element) { 
     925    element = $(element); 
    921926    var valueT = 0, valueL = 0; 
    922927    do { 
    923928      valueT += element.offsetTop  || 0; 
     
    10891094})(); 
    10901095 
    10911096Element.hasAttribute = function(element, attribute) { 
    1092   if (element.hasAttribute) return element.hasAttribute(attribute); 
     1097  if ((element = $(element)).hasAttribute) return element.hasAttribute(attribute); 
    10931098  return Element.Methods.Simulated.hasAttribute(element, attribute); 
    10941099}; 
    10951100