1/ Ce qui fonctionne :
j'ai créé des éléments "div" qui, au click, lancent une fonction :
Le nom de la fonction est : click_leçon et les paramètres sont bloc et index.
Code : Sélectionner tout - Visualiser dans une fenêtre à part monDiv.onclick = function() {click_lecon(bloc, index)};
Cela fonctionne très bien.
Ce qui pose problème :
j'ai créé une table qui stocke mes objets MenuNav, chacun ayant trois valeurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 export let MenuNav = class MenuNav { constructor (msg, img, action) { this.msg = msg; this.img = img; this.action = action; } }Je construis ensuite, grâce à la boucle foreach, mes trois div, en leur affectant les valeurs de chaque objets de la table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 export let table_Nav = []; table_Nav[0] = new MenuNav ("Fermer la fiche", "images/img30/croixRouge.png", "init()"); table_Nav[1] = new MenuNav ("voir la leçon suivante", "images/img30/croixRouge.png", "next()"); table_Nav[2] = new MenuNav ("voir la leçon précédente", "images/img30/croixRouge.png", "back()");
La problématique est la suivante :
comment faire pour que le onclick, comprenne que l'élément el.action est une fonction dont le nom est :
init() à la construction du premier div.
next() à construction du deuxième.
back() à la construction du troisième.
Mon code actuel n'est pas reconnu :
si je mets en clair le nom de chaque fonction sur le onclick, cela fonctionne, mais l'intérêt, c'est l'affectation automatique par programmation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part navigation1.onclick = function() {(el.action)};
Merci à ceux qui sont affutés dans la syntaxe et qui pourront me donner des idées!....
Partager