Bonjour,

Je souhaite lancer une fonction pour initialiser une map : $('#map_canvas').mapit(); quand je suis dans une des Togglable tabs de bootstrap. http://getbootstrap.com/javascript/#tabs

Voici mon code html :
Code html : 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<section class="section padding0 padding-low">
	<div class="container">
		<div class=" col-md-10">
			<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
			  Launch demo modal
			</button>
 
			<div class="modal fade" id="myModal" data-lat="23, 18.33" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
			  <div class="modal-dialog" role="document">
				<div class="modal-content">
				  <div class="modal-body">
 
 
					<ul class="nav nav-pills">
						<li class="active"> <a href="#tab1" data-toggle="tab">théme</a></li>
						<li><a data-toggle="tab" href="#tab2">Activité</a></li>
						<li><a data-toggle="tab" href="#tab3">Informations</a></li>
					</ul>
					<div class="tab-content">
						<div id="tab1" class="tab-pane fade in active">
							gffghgf
						</div><!--END #tab1-->
						<div id="tab2" class="tab-pane fade">
							ghfgh
						</div><!--END #tab2-->
						<div id="tab3" class="tab-pane fade">
							<div id="wrapper">
								<div id="nav_wrapper">
									<nav2>
										<ul class="vertical">
											<li><strong>Points of interest</strong></li>
											<li><a onclick="javascript:$('#map_canvas').trigger('show', '1')">Cinemas</a></li>
											<li><a onclick="javascript:$('#map_canvas').trigger('show', '2')">Museums</a></li>
											<li><strong>Routes</strong></li>
											<li><a onclick="javascript:$('#map_canvas').trigger('route', '0')">Airport to The Hotel</a></li>
											<li><a onclick="javascript:$('#map_canvas').trigger('route', '1')">The Hotel to Center</a></li>
											<li><strong>Controls</strong></li>
											<li><a onclick="javascript:$('#map_canvas').trigger('hide_all')">Hide all markers</a></li>
											<li><a onclick="javascript:$('#map_canvas').trigger('reset')">Reset Map</a></li>
										</ul>
									</nav2>
								</div><!--END nav_wrapper-->
								<div id="map_canvas"></div>
							</div><!--END wrapper-->
						</div><!--END #tab3-->
					</div><!--END tab-content-->
 
 
				  </div><!--END modal-body-->
				</div><!--END modal-content-->
			  </div><!--END modal-dialog-->
			</div><!--END modal-->     
		</div><!-- col-md-10 -->
	</div><!-- end container -->
</section>

Donc lorsque je suis à #tab3, je souhaite exécuter $('#map_canvas').mapit();.

Voici ce que j'ai fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
$(document).ready(function() {
     $("#tab3").on("shown.bs.tab", function () {
         $('#map_canvas').mapit();
    });
})
Mais cela ne fonctionne pas.

Merci par avance.



Edit :

J'ai réussi à trouver cette solution qui fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
$(document).ready(function() {
     $('a[data-toggle="tab"]').on('shown.bs.tab', function () {
        $('#map_canvas').mapit();
     });
})
Mais cela exécute la fonction à chaque tab.