Changeset 1010


Ignore:
Timestamp:
10/10/07 15:18:41 (7 years ago)
Author:
fredck
Message:

Fixed #1391 : Overrides for the "class" attribute was improperly handled in IE.

Location:
FCKeditor/trunk/editor/_source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • FCKeditor/trunk/editor/_source/classes/fckstyle.js

    r959 r1010  
    468468                                        //      has matches in the attribute value. 
    469469                                        if ( attValue == null || 
    470                                                         ( typeof attValue == 'string' && element.getAttribute( attName, 2 ) == attValue ) || 
    471                                                         attValue.test( element.getAttribute( attName, 2 ) ) ) 
     470                                                        ( typeof attValue == 'string' && FCKDomTools.GetAttributeValue( element, attName ) == attValue ) || 
     471                                                        attValue.test( FCKDomTools.GetAttributeValue( element, attName ) ) ) 
    472472                                                return true ; 
    473473                                } 
     
    618618                                        //      has matches in the attribute value. 
    619619                                        if ( attValue == null || 
    620                                                         ( attValue.test && attValue.test( element.getAttribute( attName, 2 ) ) ) || 
    621                                                         ( typeof attValue == 'string' && element.getAttribute( attName, 2 ) == attValue ) ) 
     620                                                        ( attValue.test && attValue.test( FCKDomTools.GetAttributeValue( element, attName ) ) ) || 
     621                                                        ( typeof attValue == 'string' && FCKDomTools.GetAttributeValue( element, attName ) == attValue ) ) 
    622622                                                FCKDomTools.RemoveAttribute( element, attName ) ; 
    623623                                } 
  • FCKeditor/trunk/editor/_source/internals/fckdomtools.js

    r1002 r1010  
    446446                for ( var i = 0 ; i < attributes.length ; i++ ) 
    447447                { 
    448                         if ( attributes[i].specified ) 
     448                        if ( FCKBrowserInfo.IsIE && attributes[i].nodeName == 'class' ) 
     449                        { 
     450                                // IE has a strange bug. If calling removeAttribute('className'),  
     451                                // the attributes collection will still contain the "class" 
     452                                // attribute, which will be marked as "specified", even if the 
     453                                // outerHTML of the element is not displaying the class attribute. 
     454                                // Note : I was not able to reproduce it outside the editor, 
     455                                // but I've faced it while working on the TC of #1391. 
     456                                if ( element.className.length > 0 ) 
     457                                        return true ; 
     458                        } 
     459                        else if ( attributes[i].specified ) 
    449460                                return true ; 
    450461                } 
     
    461472                        attributeName = 'className' ; 
    462473 
    463                 return element.removeAttribute( attributeName ) ; 
    464         }, 
    465  
     474                return element.removeAttribute( attributeName, 0 ) ; 
     475        }, 
    466476 
    467477        GetAttributeValue : function( element, att ) 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy