Changeset 75756 in spip-zone


Ignore:
Timestamp:
Sep 11, 2013, 10:25:14 PM (6 years ago)
Author:
kent1@…
Message:

Poser le focus en js sur le premier input ou textarea non readonly ni disabled

Version 1.16.5

Location:
_plugins_/crayons
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/crayons/js/crayons.js

    r73111 r75756  
    3636        // ou meta-valeur-meta
    3737        var cray =
    38                            c.match(/\b\w+-(\w+)-\d(?:-\w+)+\b/)   // numeros_lien-type-2-3-article (table-champ-cles)
    39                         || c.match(/\b\w+-(\w+)-\d+\b/)           // article-texte-10 (inclu dans le precedent, mais bon)
    40                 || c.match(/\b\meta-valeur-(\w+)\b/)      // meta-valeur-xx
    41                 ;
     38                                c.match(/\b\w+-(\w+)-\d(?:-\w+)+\b/)   // numeros_lien-type-2-3-article (table-champ-cles)
     39                                || c.match(/\b\w+-(\w+)-\d+\b/)           // article-texte-10 (inclu dans le precedent, mais bon)
     40                                || c.match(/\b\meta-valeur-(\w+)\b/)      // meta-valeur-xx
     41                                ;
    4242
    4343        var boite = !cray ? '' : this.mkimg(type, ' (' + cray[1] + ')');
     
    217217// active un crayon qui vient d'etre charge
    218218$.fn.activatecrayon = function(percent) {
     219        var focus = false;
    219220        this
    220221        .crayon()
     
    369370                        })
    370371                        // focus par defaut (crayons sans textarea/text, mais uniquement menus ou fichiers)
    371                         .find('input:visible:first').focus().end()
     372                        .find('input:visible:not(:disabled):not([readonly]):first').focus().end()
    372373                        .find("textarea.crayon-active,input.crayon-active[type=text]")
    373374                                .each(function(n){
    374                                         // focus pour commencer a taper son texte directement dans le champ
     375                                        // focus pour commencer a taper son texte directement dans le champ
     376                                        // sur le premier textarea non readonly ni disabled
    375377                                        // on essaie de positionner la selection (la saisie) au niveau du clic
    376378                                        // ne pas le faire sur un input de [type=file]
    377379                                        if (n==0) {
    378                                                 this.focus();
     380                                                if(!$(this).is(':disabled, [readonly]')){
     381                                                        this.focus();
     382                                                        focus = true;
     383                                                }
    379384                                                // premiere approximation, en fonction de la hauteur du clic
    380385                                                var position = parseInt(percent * this.textLength);
    381386                                                this.selectionStart=position;
    382387                                                this.selectionEnd=position;
    383                                         }
     388                                        }else if(!focus && !$(this).is(':disabled, [readonly]'))
     389                                                this.focus();
    384390                                })
    385391                        .end()
  • _plugins_/crayons/paquet.xml

    r75222 r75756  
    22        prefix="crayons"
    33        categorie="edition"
    4         version="1.16.4"
     4        version="1.16.5"
    55        etat="stable"
    66        compatibilite="[1.9.0;*]"
Note: See TracChangeset for help on using the changeset viewer.