Ticket #2606: ticket2606.patch
File ticket2606.patch, 2.0 KB (added by , 15 years ago) |
---|
-
editor/_source/classes/fckenterkey.js
1 ?/*1 /* 2 2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 3 3 * Copyright (C) 2003-2008 Frederico Caldeira Knabben 4 4 * … … 172 172 return false ; 173 173 } 174 174 175 //fix for webkit-based browsers (http://dev.fckeditor.net/ticket/2606) - deletes button 176 if (FCKBrowserInfo.IsSafari) { 177 var prevElement = FCKDomTools.GetPreviousSourceElement( oRange.StartNode, true ) ; 178 if ( prevElement && this._IsButton( prevElement ) ) 179 { 180 prevElement.parentNode.removeChild( prevElement ) ; 181 return true ; 182 } 183 } 184 175 185 // On IE, it is better for us handle the deletion if the caret is preceeded 176 186 // by a <br> (#1383). 177 187 if ( FCKBrowserInfo.IsIE ) … … 360 370 return true ; 361 371 } 362 372 373 //fix for webkit-based browsers (http://dev.fckeditor.net/ticket/2606) - deletes button 374 if ( FCKBrowserInfo.IsSafari ) { 375 var nextElement = FCKDomTools.GetNextSourceElement( oRange.StartNode, true ) ; 376 if ( nextElement && this._IsButton( nextElement )) 377 { 378 nextElement.parentNode.removeChild( nextElement ) ; 379 return true ; 380 } 381 } 382 363 383 // There is just one special case for collapsed selections at the end of a block. 364 384 if ( oRange.CheckIsCollapsed() && oRange.CheckEndOfBlock( FCKBrowserInfo.IsGeckoLike ) ) 365 385 { … … 711 731 range.Select() ; 712 732 range.Release() ; 713 733 } 734 735 // Used by doDelete and doBackspace in webkit-based browsers to delete a button, ticket #2606 736 FCKEnterKey.prototype._IsButton = function ( element ) 737 { 738 return ( element && element.tagName && 739 ((element.tagName.toLowerCase() == 'input' && 740 (element.type.toLowerCase() == 'button' || element.type.toLowerCase() == 'submit' || element.type.toLowerCase() == 'reset') 741 ) || element.tagName.toLowerCase() == "button") 742 ); 743 } 744 No newline at end of file