jQuery - piégeage onglet sélectionnez l'événement
Je suis un jQuery noob et j'en suis à essayer de comprendre comment intercepter l'onglet événement sélectionné.
À l'aide de jQuery 1.2.3 et correspondant jQuery UI tabs (pas mon choix et je n'ai aucun contrôle sur elle). C'est un imbriquée onglet avec le premier niveau de la div nom - tabs. C'est ainsi que j'ai initialisé les onglets
$(function() {
$('#tabs ul').tabs();
});
$(document).ready(function(){
$('#tabs ul').tabs('select', 0);
});
Je ne suis pas en mesure de comprendre comment intercepter les événements et les propriétés (onglet sélectionné, lors de l'onglet cliqué, etc). Serais reconnaissant de toute aide sur ce...
J'ai essayé des choses comme:
$('#tabs ul').bind('tabsselect', function(event, ui) {
selectedTab = ui.index;
alert('selectedTab : ' + selectedTab);
});
(OR)
$('#tabs').bind('tabsselect', function(event, ui) {
sans succès.
Ci-dessous est le balisage
<div id="tabs">
<UL>
<LI><A href="#fragment-1"><SPAN>Tab1</SPAN></A></LI>
<LI><A href="#fragment-2"><SPAN>Tab2</SPAN></A></LI>
<LI><A href="#fragment-3"><SPAN>Tab3</SPAN></A></LI>
<LI><A href="#fragment-4"><SPAN>Tab4</SPAN></A></LI>
</UL>
<DIV id=fragment-1>
<UL>
<LI><A href="#fragment-1a"><SPAN>Sub-Tab1</SPAN></A></LI>
<LI><A href="#fragment-1b"><SPAN>Sub-Tab2</SPAN></A></LI>
<LI><A href="#fragment-1c"><SPAN>Sub-Tab3</SPAN></A></LI>
</UL>
</DIV>
.
.
.
</DIV>
- Est-ce un jquery-ui question? si oui, veuillez étiqueter correctement
Vous devez vous connecter pour publier un commentaire.
La méthode correcte pour la capture de l'onglet de sélection de l'événement est de définir une fonction comme valeur pour le
select
option lors de l'initialisation des onglets (vous pouvez également définir de façon dynamique par la suite), comme suit:Vous pouvez voir le code en action ici: http://jsfiddle.net/mZLDk/
Edit: Avec le lien que vous m'avez donné, j'ai créé un environnement de test pour jQuery 1.2.3 avec jQuery UI 1.5 (je crois?). Certaines choses évidemment changé depuis lors. Il n'y avait pas séparé
ui
objet qui a été séparé de l'originalevent
objet. Le code ressemble à ceci:Ouf. Si il y a quelque chose à apprendre ici, c'est que le soutien de l'héritage de code est dur. Voir le jsfiddle pour plus d': http://jsfiddle.net/qCfnL/1/
select
avectabselect
- le changelog indique queselect
a été introduite peu de temps aprèstabselect
pour le remplacer.activate:
a fonctionné pour moi. Depuis JQueryUI - 1.10select
événement n'est plus!il semble que l'ancienne version de jquery ui ne supportent pas l'événement select plus.
Ce code fonctionne avec les nouvelles versions:
beforeActivate
comme un remplacement. voir les docs jqueryui.com/upgrade-guide/1.9/...Ce post montre un travail complet fichier HTML comme un exemple de déclenchement code de s'exécuter lorsqu'un onglet est sélectionné. L' .sur() la méthode est désormais la voie que jQuery vous propose de gérer les événements.
jQuery développement de l'histoire
De faire quelque chose lorsque l'utilisateur clique sur un onglet peut être fait en donnant la liste de l'élément d'identifiant.
Ensuite référence à l'id.
Assurez-vous que vous utilisez une version actuelle de l'api jQuery. Référencement du jQuery api de Google, vous pouvez obtenir le lien ici:
https://developers.google.com/speed/libraries/devguide#jquery
Ici est un travail de copie d'une page à onglets qui déclenche une alerte lors de la tabulation horizontale 1 est cliqué.
De ce que je peux dire, par la documentation ici: http://jqueryui.com/demos/tabs/#event-select, il semble que vous n'êtes pas tout à fait l'initialisation de ce droit. Les démos de l'état que vous avez besoin d'un principal enveloppé
<div>
élément, avec un<ul>
ou éventuellement<ol>
élément représentant les onglets, puis un élément pour chaque page de l'onglet (présumable un<div>
ou<p>
, peut-être un<section>
si nous sommes à l'aide de HTML5). Ensuite, vous appelez $().les onglets() sur les principaux<div>
, pas la<ul>
élément.Après cela, vous pouvez lier à la tabsselect cas pas de problème. Découvrez ce violon de base, de base exemple:
http://jsfiddle.net/KE96S/
Dans les versions ultérieures de JQuery ils ont changé la fonction de select pour l'activer.
http://api.jqueryui.com/tabs/#event-activate
Simplement:
Mais vous devez ajouter le nom de la classe à vos ancres nommées "tab_a":
Simplement utiliser le clic de l'événement pour l'onglet.