taoguan / jwysiwyg

Automatically exported from code.google.com/p/jwysiwyg
0 stars 0 forks source link

tabindex doesn't work #96

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Create a form with input elements, wysiwyg and save/cancel buttons
2. Assign tabindex attributes to all elements starting from 1.
3. Press tab key to jump from one field to another

What is the expected output? What do you see instead?
Expected to jump onto wysiwyg before the save/cancel buttons, not the other
way around

What version of the product are you using? On what operating system?
0.9 on Win XP/Vista

Please provide any additional information below.
The following solution seems to work:

init : function( element, options )
        {
            var self = this;

            this.editor = element;
            this.options = options || {};

            $.data(element, 'wysiwyg', this);

            var newX = element.width || element.clientWidth;
            var newY = element.height || element.clientHeight;

            if ( element.nodeName.toLowerCase() == 'textarea' )
            {
                this.original = element;

                if ( newX == 0 && element.cols )
                    newX = ( element.cols * 8 ) + 21;

                if ( newY == 0 && element.rows )
                    newY = ( element.rows * 16 ) + 16;

                var editor = this.editor = $('<iframe></iframe>').css({
                    minHeight : ( newY - 6 ).toString() + 'px',
                    width     : ( newX - 8 ).toString() + 'px'
                }).attr('id', $(element).attr('id') +
'IFrame').attr('tabindex', $(element).attr('tabindex'));

                if ( $.browser.msie )
                {
                    this.editor
                        .css('height', ( newY ).toString() + 'px');

                    /**
                    var editor = $('<span></span>').css({
                        width     : ( newX - 6 ).toString() + 'px',
                        height    : ( newY - 8 ).toString() + 'px'
                    }).attr('id', $(element).attr('id') + 'IFrame');

                    editor.outerHTML = this.editor.outerHTML;
                     */
                }
            }

Original issue reported on code.google.com by denis.vy...@gmail.com on 4 Apr 2009 at 9:17

GoogleCodeExporter commented 8 years ago
At r31.

Original comment by joksnet on 21 Apr 2009 at 11:04