IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Etendre une fonction d'un plugin jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de aperrin
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 221
    Par défaut Etendre une fonction d'un plugin jquery
    Bonjour,

    j'ai un plugin jquery damAutoComplete (version simplifié) avec une fonction close:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    (function($, window, document) {
    	$.fn.damAutoComplete = function( oInit )
    	{
    			$(this).autocomplete({
    				source: function( request, response ) {
    					$.ajax({
    						url:  oSettings.oFeatures.url,
    						contentType : "application/x-www-form-urlencoded; charset=UTF-8",
    						dataType: "json",
    						data: {
    							featureClass: "P",
    							style: "full",
    							maxRows: 12,
    							name_startsWith: request.term
    						}
    					});
    				},
    				delay : 400,
    				minLength: 3,
     
    				close: function() {
    					$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
    				}
    			});
    })(jQuery, window, document);
    et je voudrais surcharger la fonction close.
    Comment faire ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    close: function() {
    					$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
    alert('surchargée');
    				}
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre expérimenté Avatar de aperrin
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 221
    Par défaut
    En fait dans un cas j'ai besoin de la fonction close :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    close: function() {
      $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
    }
    et dans l'autre cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    close: function() {
      $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
      $(this.parentNode.parentNode).click();
    }
    Je pensais à un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    (function($){
    	$.fn.dataTableAutocomplete = function() {
    		var d = $(this).damAutoComplete({
    	        type : "mail",
    	        url  : "index.php?c=mail&a=lister",
    	        minLength	: 4
    	        });
    	        var tmp ={ 
    	        		close: function(){
     
    	        		$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
    					$(this.parentNode.parentNode).click();
    					console.log('extend OK !!!!!!!!!!!!!!!!!!!!!!!!!');
    	          }
    	        };
    		$.extend(d, tmp);
    	    return d;   
     
         };
    })(jQuery);
    mais cela ne marche pas.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Passe un paramètre boolean ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre expérimenté Avatar de aperrin
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 221
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Passe un paramètre boolean ?
    C'est ma solution de repli

    Mais j'aurais bien voulu savoir si il était possible de surcharger cette satanée fonction

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    possible mais en la redéfinissant par concaténation de l'ancienne ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler une fonction d'un plugin depuis l'exterieur
    Par SpaceFrog dans le forum jQuery
    Réponses: 4
    Dernier message: 07/06/2013, 08h26
  2. Réponses: 2
    Dernier message: 06/07/2012, 13h33
  3. [CSS] Flouter une image en CSS + plugin jQuery
    Par Bisûnûrs dans le forum Contribuez
    Réponses: 6
    Dernier message: 29/05/2011, 00h53
  4. etendre une fonction SI (ou la remplacer ^^)
    Par Geno47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/12/2007, 17h11
  5. [MooTools] Etendre une fonction de mootools
    Par pmithrandir dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 02/11/2007, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo