Ticket #3448: 3448_3.patch

File 3448_3.patch, 1.5 KB (added by Garry Yao, 15 years ago)
  • _source/plugins/wysiwygarea/plugin.js

     
    259259                                                domWindow       = editor.window         = new CKEDITOR.dom.window( domWindow );
    260260                                                domDocument     = editor.document       = new CKEDITOR.dom.document( domDocument );
    261261
     262                                                // Gecko/Webkit need some help when selecting control type elements. (#3448)
     263                                                if ( !( CKEDITOR.env.ie || CKEDITOR.env.opera) )
     264                                                {
     265                                                        domDocument.on( 'mousedown', function( ev )
     266                                                        {
     267                                                                var control = ev.data.getTarget();
     268                                                                if ( control.is( 'img', 'hr', 'input', 'textarea', 'select' ) )
     269                                                                        editor.getSelection().selectElement( control );
     270                                                        } );
     271                                                }
     272                                               
     273                                                // Webkit: avoid from editing form control elements content.
     274                                                if ( CKEDITOR.env.webkit )
     275                                                {
     276                                                        // Prevent from tick checkbox/radiobox/select
     277                                                        domDocument.on( 'click', function( ev )
     278                                                        {
     279                                                                if ( ev.data.getTarget().is( 'input', 'select' ) )
     280                                                                        ev.data.preventDefault();
     281                                                        } );
     282
     283                                                        // Prevent from editig textfield/textarea value.
     284                                                        domDocument.on( 'mouseup', function( ev )
     285                                                        {
     286                                                                if ( ev.data.getTarget().is( 'input', 'textarea' ) )
     287                                                                        ev.data.preventDefault();
     288                                                        } );
     289                                                }
     290
    262291                                                var focusTarget = ( CKEDITOR.env.ie || CKEDITOR.env.safari ) ?
    263292                                                                domWindow : domDocument;
    264293
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy