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

Ticket #8354: event_mouseenter_106rc1.patch

File event_mouseenter_106rc1.patch, 1.0 kB (added by Woil, 1 year ago)

Updated for 1.6.0_rc1

  • event.js

    old new  
    134134   
    135135  function getDOMEventName(eventName) { 
    136136    if (eventName && eventName.match(/:/)) return "dataavailable"; 
     137    if(!Prototype.Browser.IE) eventName = {mouseenter: "mouseover", mouseleave: "mouseout"}[eventName] || eventName; 
    137138    return eventName; 
    138139  } 
    139140   
     
    159160      handler.call(element, event) 
    160161    }; 
    161162     
     163    if (!(Prototype.Browser.IE) && ['mouseenter', 'mouseleave'].include(eventName)){ 
     164      wrapper = wrapper.wrap( function(proceed, event) {   
     165        var rel = event.relatedTarget, cur = event.currentTarget;           
     166        if (rel && rel.nodeType == Node.TEXT_NODE) rel = rel.parentNode;   
     167        if (rel && rel != cur && !rel.descendantOf(cur))   
     168          return proceed(event);   
     169        });    
     170    }   
     171     
    162172    wrapper.handler = handler; 
    163173    c.push(wrapper); 
    164174    return wrapper;