Bonjour,
Voila j'ai un soucis de focus dans une page web.
Cette page contient un tableau et un objet de visualisation pdf (jquery media plugin) .
Sur le clic d'une ligne du tableau j'affiche le pdf correspondant. Tout se passe bien sauf qu'a ce moment la le focus est sur le pdf (si j'appuie sur la fleche du bas c'est le pdf qui déroule).
Mais je voudrais que le focus reste sur le tableau pour que l'on puisse parcourir les lignes et afficher à chaque fois le pdf correspondant.
J'ai essayé avec la fonction .focus mais sans résultat.
Voici mon code javascript. La fonction mark se déclenche sur le clic d'une ligne, et la fonction select sur le keydown d'une ligne.
D'avance Merci
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
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
56
57
58
59 function MarkRow(rowId) { if (document.getElementById(rowId) == null) { return; } if (document.getElementById(currentRowId) != null) { //change la couleur de fond document.getElementById(currentRowId).style.backgroundColor = '#ffffff'; var chemin = document.getElementById("ContentPlaceHolderCorps_grv_piece_sChemin_" + currentRowId).value; //vider la div $('.objpdf').empty(); //Ajout d'un nouveau lien <a id="objpdf" class="media" href="">PDF File</a> //avec le nouveau fichier pdf $('.objpdf').append("<a class='media' href='file://" + chemin + "'>PDF File</a>"); //relance l'affichage $('a.media').media({ width: 500, height: 400 }); //donne le focus a la grille pour continuer de naviguer $(".grv_piece").focus; //essai de focus sur la ligne selectionnée document.getElementById("ContentPlaceHolderCorps_grv_piece_sChemin_" + currentRowId).focus; } currentRowId = rowId; document.getElementById(rowId).style.backgroundColor = '#ff0000'; } function SelectRow() { //Si clic sur espace if (event.keyCode == 32) { var cb = document.getElementById('ContentPlaceHolderCorps_grv_piece_CheckBox1_' + currentRowId); if (cb.checked == true){ cb.checked = false; } else { cb.checked = true; } } else { if (event.keyCode == 40) MarkRow(currentRowId + 1); else if (event.keyCode == 38) MarkRow(currentRowId - 1); } }
Partager