JqueryUI - sélectionnable
jQueryUI fournit une méthode selectable () pour sélectionner l'élément DOM individuellement ou dans un groupe. Avec cette méthode, les éléments peuvent être sélectionnés en faisant glisser une boîte (parfois appelée lasso) avec la souris sur les éléments. En outre, les éléments peuvent être sélectionnés en cliquant ou en faisant glisser tout en maintenant la touche Ctrl / Meta, permettant des sélections multiples (non contiguës).
Syntaxe
le selectable() La méthode peut être utilisée sous deux formes -
$ (selector, context) .selectable (options), méthode
$ (selector, context) .selectable ("action", params) Méthode
$ (selector, context) .selectable (options), méthode
La méthode sélectionnable (options) déclare qu'un élément HTML contient des éléments sélectionnables. Le paramètre options est un objet qui spécifie le comportement des éléments impliqués lors de la sélection.
Syntaxe
$(selector, context).selectable (options);
Vous pouvez fournir une ou plusieurs options à la fois en utilisant un objet Javascript. S'il y a plus d'une option à fournir, vous les séparerez en utilisant une virgule comme suit -
$(selector, context).selectable({option1: value1, option2: value2..... });
Le tableau suivant répertorie les différentes options pouvant être utilisées avec cette méthode -
N ° Sr. | Option et description |
---|---|
1 | ajouter à Cette option indique à quel élément l'assistant de sélection (le lasso) doit être ajouté. Par défaut, sa valeur estbody. Option - appendTo Cette option indique à quel élément l'assistant de sélection (le lasso) doit être ajouté. Par défaut, sa valeur estbody. Syntax
|
2 | actualisation automatique
Si cette option est définie sur true , la position et la taille de chaque élément sélectionnable sont calculées au début d'une opération de sélection. Par défaut, sa valeur esttrue. Option - autoRefresh Si cette option est définie sur true , la position et la taille de chaque élément sélectionnable sont calculées au début d'une opération de sélection. Par défaut, sa valeur esttrue. Si vous avez de nombreux éléments, vous pouvez le définir sur false et appeler la méthode refresh () manuellement. Syntax
|
3 | Annuler Cette option interdit la sélection si vous démarrez la sélection d'éléments. Par défaut, sa valeur estinput,textarea,button,select,option. Option - cancel Cette option interdit la sélection si vous démarrez la sélection d'éléments. Par défaut, sa valeur estinput,textarea,button,select,option. Syntax
|
4 | retard
Cette option permet de définir le temps en millisecondes et définit le moment où la sélection doit commencer. Cela peut être utilisé pour éviter les sélections indésirables. Par défaut, sa valeur est0. Option - delay Cette option permet de définir le temps en millisecondes et définit le moment où la sélection doit commencer. Cela peut être utilisé pour éviter les sélections indésirables. Par défaut, sa valeur est0. Syntax
|
5 | désactivée
Cette option, lorsqu'elle est définie sur true, désactive le mécanisme de sélection. Les utilisateurs ne peuvent pas sélectionner les éléments tant que le mécanisme n'est pas restauré à l'aide de l'instruction sélectionnable («activer»). Par défaut, sa valeur estfalse. Option - disabled Cette option, lorsqu'elle est définie sur true, désactive le mécanisme de sélection. Les utilisateurs ne peuvent pas sélectionner les éléments tant que le mécanisme n'est pas restauré à l'aide de l'instruction sélectionnable («activer»). Par défaut, sa valeur estfalse. Syntax
|
6 | distance
Cette option est la distance (en pixels) que la souris doit déplacer pour considérer la sélection en cours. Ceci est utile, par exemple, pour éviter que de simples clics ne soient interprétés comme une sélection de groupe. Par défaut, sa valeur est0. Option - distance Cette option est la distance (en pixels) que la souris doit déplacer pour considérer la sélection en cours. Ceci est utile, par exemple, pour éviter que de simples clics ne soient interprétés comme une sélection de groupe. Par défaut, sa valeur est0. Syntax
|
sept | filtre
Cette option est un sélecteur indiquant quels éléments peuvent faire partie de la sélection. Par défaut, sa valeur est*. Option - filter Cette option est un sélecteur indiquant quels éléments peuvent faire partie de la sélection. Par défaut, sa valeur est*. Syntax
|
8 | tolérance
Cette option spécifie le mode à utiliser pour tester si l'assistant de sélection (le lasso) doit sélectionner un élément. Par défaut, sa valeur esttouch. Option - tolerance Cette option spécifie le mode à utiliser pour tester si l'assistant de sélection (le lasso) doit sélectionner un élément. Par défaut, sa valeur esttouch. Cela peut être de type -
Syntax
|
La section suivante vous montrera quelques exemples fonctionnels de fonctionnalités sélectionnables.
Fonctionnalité par défaut
L'exemple suivant montre un exemple simple de fonctionnalité sélectionnable, en ne passant aucun paramètre au selectable() méthode.
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI selectable-1</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<style>
#selectable-1 .ui-selecting { background: #707070 ; }
#selectable-1 .ui-selected { background: #EEEEEE; color: #000000; }
#selectable-1 { list-style-type: none; margin: 0;
padding: 0; width: 20%; }
#selectable-1 li { margin: 3px; padding: 0.4em;
font-size: 16px; height: 18px; }
.ui-widget-content {
background: #cedc98;
border: 1px solid #DDDDDD;
color: #333333;
}
</style>
<script>
$(function() {
$( "#selectable-1" ).selectable();
});
</script>
</head>
<body>
<ol id = "selectable-1">
<li class = "ui-widget-content">Product 1</li>
<li class = "ui-widget-content">Product 2</li>
<li class = "ui-widget-content">Product 3</li>
<li class = "ui-widget-content">Product 4</li>
<li class = "ui-widget-content">Product 5</li>
<li class = "ui-widget-content">Product 6</li>
<li class = "ui-widget-content">Product 7</li>
</ol>
</body>
</html>
Sauvegardons le code ci-dessus dans un fichier HTML selectableexample.htmet ouvrez-le dans un navigateur standard qui prend en charge javascript, vous devriez voir la sortie suivante. Maintenant, vous pouvez jouer avec le résultat -
Essayez de cliquer sur les produits, utilisez la touche CTRLS pour sélectionner plusieurs produits.
Utilisation du retard et de la distance
L'exemple suivant illustre l'utilisation de deux options delay et distance dans la fonction sélectionnable de JqueryUI.
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Selectable</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<style>
#selectable-2 .ui-selecting,#selectable-3 .ui-selecting {
background: #707070 ; }
#selectable-2 .ui-selected,#selectable-3 .ui-selected {
background: #EEEEEE; color: #000000; }
#selectable-2,#selectable-3 { list-style-type: none; margin: 0;
padding: 0; width: 20%; }
#selectable-2 li,#selectable-3 li { margin: 3px; padding: 0.4em;
font-size: 16px; height: 18px; }
.ui-widget-content {
background: #cedc98;
border: 1px solid #DDDDDD;
color: #333333;
}
</style>
<script>
$(function() {
$( "#selectable-2" ).selectable({
delay : 1000
});
$( "#selectable-3" ).selectable({
distance : 100
});
});
</script>
</head>
<body>
<h3>Starts after delay of 1000ms</h3>
<ol id = "selectable-2">
<li class = "ui-widget-content">Product 1</li>
<li class = "ui-widget-content">Product 2</li>
<li class = "ui-widget-content">Product 3</li>
</ol>
<h3>Starts after mouse moves distance of 100px</h3>
<ol id = "selectable-3">
<li class = "ui-widget-content">Product 4</li>
<li class = "ui-widget-content">Product 5</li>
<li class = "ui-widget-content">Product 6</li>
<li class = "ui-widget-content">Product 7</li>
</ol>
</body>
</html>
Sauvegardons le code ci-dessus dans un fichier HTML selectableexample.htmet ouvrez-le dans un navigateur standard qui prend en charge javascript, vous devriez voir la sortie suivante. Maintenant, vous pouvez jouer avec le résultat -
Essayez de cliquer sur les produits, utilisez la touche CTRL pour sélectionner plusieurs produits. Vous remarquerez que la sélection du produit 1, du produit 2 et du produit 3 démarre après un délai de 1000 ms. La sélection du produit 4, du produit 5, du produit 6 et du produit 7 ne peut être effectuée individuellement. La sélection ne commence qu'après que la souris se déplace sur une distance de 100 pixels.
Utilisation du filtre
L'exemple suivant illustre l'utilisation de deux options delay et distance dans la fonction sélectionnable de JqueryUI.
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI selectable-4</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<style>
#selectable-4 .ui-selecting { background: #707070 ; }
#selectable-4 .ui-selected { background: #EEEEEE; color: #000000; }
#selectable-4 { list-style-type: none; margin: 0;
padding: 0; width: 20%; }
#selectable-4 li { margin: 3px; padding: 0.4em;
font-size: 16px; height: 18px; }
.ui-widget-content {
background: #cedc98;
border: 1px solid #DDDDDD;
color: #333333;
}
</style>
<script>
$(function() {
$( "#selectable-4" ).selectable({
filter : "li:first-child"
});
});
</script>
</head>
<body>
<ol id = "selectable-4">
<li class = "ui-widget-content">Product 1</li>
<li class = "ui-widget-content">Product 2</li>
<li class = "ui-widget-content">Product 3</li>
<li class = "ui-widget-content">Product 4</li>
<li class = "ui-widget-content">Product 5</li>
<li class = "ui-widget-content">Product 6</li>
<li class = "ui-widget-content">Product 7</li>
</ol>
</body>
</html>
Sauvegardons le code ci-dessus dans un fichier HTML selectableexample.htmet ouvrez-le dans un navigateur standard qui prend en charge javascript, vous devriez voir la sortie suivante. Maintenant, vous pouvez jouer avec le résultat -
Essayez de cliquer sur les produits. Vous remarquerez que seul le premier produit peut être sélectionné.
$ (selector, context) .selectable ("action", params) Méthode
La méthode sélectionnable ("action", params) peut effectuer une action sur des éléments sélectionnables, comme empêcher une fonctionnalité sélectionnable. L'action est spécifiée sous forme de chaîne dans le premier argument (par exemple, "désactiver" pour arrêter la sélection). Découvrez les actions qui peuvent être passées, dans le tableau suivant.
Syntaxe
$(selector, context).selectable ("action", params);;
Le tableau suivant répertorie les différentes actions qui peuvent être utilisées avec cette méthode -
N ° Sr. | Action et description |
---|---|
1 | détruire Cette action supprime complètement la fonctionnalité sélectionnable d'un élément. Les éléments reviennent à leur état pré-init. Action - destroy Cette action supprime complètement la fonctionnalité sélectionnable d'un élément. Les éléments reviennent à leur état pré-init. Syntax
|
2 | désactiver Cette action désactive la fonctionnalité sélectionnable d'un élément. Cette méthode n'accepte aucun argument. Action - disable Cette action supprime complètement la fonctionnalité sélectionnable d'un élément. Les éléments reviennent à leur état pré-init. Syntax
|
3 | activer Cette action active la fonctionnalité sélectionnable d'un élément. Cette méthode n'accepte aucun argument. Action - enable Cette action active la fonctionnalité sélectionnable d'un élément. Cette méthode n'accepte aucun argument. Syntax
|
4 | option (optionName) Cette action obtient la valeur actuellement associée au nom d' option spécifié . Action - option( optionName ) Cette action obtient la valeur actuellement associée au nom d' option spécifié . Syntax
|
5 | option() Cette action obtient un objet contenant des paires clé / valeur représentant le hachage d'options sélectionnables en cours. Action - option() Cette action obtient un objet contenant des paires clé / valeur représentant le hachage d'options sélectionnables en cours. Syntax
|
6 | option (optionName, valeur)
Cette action définit la valeur de l'option sélectionnée associée à l' endroit spécifié optionName . L'argument optionName est le nom de l'option à définir et value est la valeur à définir pour l'option. Action - option( optionName, value ) Cette action définit la valeur de l'option sélectionnée associée à l' endroit spécifié optionName . L'argument optionName est le nom de l'option à définir et value est la valeur à définir pour l'option. Syntax
|
sept | option (options) Cette action définit une ou plusieurs options pour le sélectionnable. L'argument options est une carte de paires option-valeur à définir. Action - option( options ) Cette action définit une ou plusieurs options pour le sélectionnable. L'argument options est une carte de paires option-valeur à définir. Syntax
|
8 | rafraîchir Cette action provoque l'actualisation de la taille et de la position des éléments sélectionnables. Utilisé principalement lorsque l' option autoRefresh est désactivée (définie sur false ). Cette méthode n'accepte aucun argument. Action - refresh Cette action provoque l'actualisation de la taille et de la position des éléments sélectionnables. Utilisé principalement lorsque l' option autoRefresh est désactivée. Cette méthode n'accepte aucun argument. Syntax
|
9 | widget Cette action renvoie un objet jQuery contenant l'élément sélectionnable. Cette méthode n'accepte aucun argument. Action - widget Cette action renvoie un objet jQuery contenant l'élément sélectionnable. Cette méthode n'accepte aucun argument. Syntax
|
Exemple
Voyons maintenant un exemple utilisant les actions du tableau ci-dessus. L'exemple suivant illustre l'utilisation des méthodes disable () et option (optionName, value) .
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Selectable</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<style>
#selectable-5 .ui-selecting,#selectable-6 .ui-selecting {
background: #707070 ; }
#selectable-5 .ui-selected,#selectable-6 .ui-selected {
background: #EEEEEE; color: #000000; }
#selectable-5,#selectable-6 {
list-style-type: none; margin: 0; padding: 0; width: 20%; }
#selectable-5 li,#selectable-6 li {
margin: 3px; padding: 0.4em; font-size: 16px; height: 18px; }
.ui-widget-content {
background: #cedc98;
border: 1px solid #DDDDDD;
color: #333333;
}
</style>
<script>
$(function() {
$( "#selectable-5" ).selectable();
$( "#selectable-5" ).selectable('disable');
$( "#selectable-6" ).selectable();
$( "#selectable-6" ).selectable( "option", "distance", 1 );
});
</script>
</head>
<body>
<h3>Disabled using disable() method</h3>
<ol id = "selectable-5">
<li class = "ui-widget-content">Product 1</li>
<li class = "ui-widget-content">Product 2</li>
<li class = "ui-widget-content">Product 3</li>
</ol>
<h3>Select using method option( optionName, value )</h3>
<ol id = "selectable-6">
<li class = "ui-widget-content">Product 4</li>
<li class = "ui-widget-content">Product 5</li>
<li class = "ui-widget-content">Product 6</li>
<li class = "ui-widget-content">Product 7</li>
</ol>
</body>
</html>
Sauvegardons le code ci-dessus dans un fichier HTML selectableexample.htm et ouvrez-le dans un navigateur standard qui prend en charge javascript, vous devriez voir la sortie suivante -
Essayez de cliquer sur les produits, utilisez la touche CTRL pour sélectionner plusieurs produits. Vous remarquerez que le produit 1, le produit 2 et le produit 3 sont désactivés. La sélection du produit 4, du produit 5, du produit 6 et du produit 7 se produit après que la souris se déplace d'une distance de 1px.
Gestion des événements sur les éléments sélectionnables
En plus de la méthode sélectionnable (options) que nous avons vue dans les sections précédentes, JqueryUI fournit des méthodes d'événement qui se déclenchent pour un événement particulier. Ces méthodes d'événement sont répertoriées ci-dessous -
N ° Sr. | Méthode d'événement et description |
---|---|
1 | create (événement, interface utilisateur) Cet événement est déclenché lors de la création de l'élément sélectionnable. Où event est de type Event et ui est de type Object . Event - create(event, ui) Cet événement est déclenché lors de la création de l'élément sélectionnable. Où event est de type Event et ui est de type Object . Syntax
|
2 | sélectionné (événement, ui) Cet événement est déclenché pour chaque élément sélectionné. Où event est de type Event et ui est de type Object . Event - selected(event, ui) Cet événement est déclenché pour chaque élément sélectionné. Où event est de type Event et ui est de type Object . Les valeurs possibles de ui sont -
Syntax
|
3 | sélection (événement, ui)
Cet événement est déclenché pour chaque élément sélectionnable sur le point d'être sélectionné. Où event est de type Event et ui est de type Object . Event - selecting(event, ui) Cet événement est déclenché pour chaque élément sélectionnable sur le point d'être sélectionné. Où event est de type Event et ui est de type Object . Les valeurs possibles de ui sont -
Syntax
|
4 | start (événement, ui) Cet événement est déclenché au début de l'opération de sélection. Où event est de type Event et ui est de type Object . Event - start(event, ui) Cet événement est déclenché au début de l'opération de sélection. Où event est de type Event et ui est de type Object . Syntax
|
5 | stop (événement, ui) Cet événement est déclenché à la fin de l'opération de sélection. Où event est de type Event et ui est de type Object . Event - stop(event, ui) Cet événement est déclenché à la fin de l'opération de sélection. Où event est de type Event et ui est de type Object . Syntax
|
6 | non sélectionné (événement, interface utilisateur) Cet événement est déclenché à la fin de l'opération de sélection pour chaque élément désélectionné. Où event est de type Event et ui est de type Object . Event - unselected(event, ui) Cet événement est déclenché à la fin de l'opération de sélection pour chaque élément désélectionné. Où event est de type Event et ui est de type Object . Les valeurs possibles de ui sont -
Syntax
|
sept | désélectionner (événement, ui) Cet événement est déclenché lors de l'opération de sélection pour chaque élément sélectionné qui est sur le point de devenir désélectionné. Où event est de type Event et ui est de type Object . Event - unselecting(event, ui) Cet événement est déclenché lors de l'opération de sélection pour chaque élément sélectionné qui est sur le point de devenir désélectionné. Où event est de type Event et ui est de type Object . Les valeurs possibles de ui sont -
Syntax
|
Exemple
L'exemple suivant illustre l'utilisation de la méthode d'événement pendant la fonctionnalité sélectionnable. Cet exemple illustre l'utilisation de l'événement sélectionné .
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI selectable-7</title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<style>
#selectable-7 .ui-selecting { background: #707070 ; }
#selectable-7 .ui-selected { background: #EEEEEE; color: #000000; }
#selectable-7 { list-style-type: none; margin: 0;
padding: 0; width: 20%; }
#selectable-7 li { margin: 3px; padding: 0.4em;
font-size: 16px; height: 18px; }
.ui-widget-content {
background: #cedc98;
border: 1px solid #DDDDDD;
color: #333333;
}
.resultarea {
background: #cedc98;
border-top: 1px solid #000000;
border-bottom: 1px solid #000000;
color: #333333;
font-size:14px;
}
</style>
<script>
$(function() {
$( "#selectable-7" ).selectable({
selected: function() {
var result = $( "#result" ).empty();
$( ".ui-selected", this ).each(function() {
var index = $( "#selectable-7 li" ).index( this );
result.append( " #" + ( index + 1 ) );
});
}
});
});
</script>
</head>
<body>
<h3>Events</h3>
<ol id = "selectable-7">
<li class = "ui-widget-content">Product 1</li>
<li class = "ui-widget-content">Product 2</li>
<li class = "ui-widget-content">Product 3</li>
<li class = "ui-widget-content">Product 4</li>
<li class = "ui-widget-content">Product 5</li>
<li class = "ui-widget-content">Product 6</li>
<li class = "ui-widget-content">Product 7</li>
</ol>
<span class = "resultarea">Selected Product</span>>
<span id = result class = "resultarea"></span>
</body>
</html>
Sauvegardons le code ci-dessus dans un fichier HTML selectableexample.htm et ouvrez-le dans un navigateur standard qui prend en charge javascript, vous devriez voir la sortie suivante -
Essayez de cliquer sur les produits, utilisez la touche CTRL pour sélectionner plusieurs produits. Vous remarquerez que le numéro de produit sélectionné est imprimé en bas.