Je possede un onglet avec une fonction onclick dasn le code HTML
Code :
- <a href="#" id="a_onglet_view" onclick="monScript()" >Visualisation</a>
|
Dans un autre script je veux executer cette fonction en allant la chercher
Code :
- if ( $("a_onglet_view" )!=null) {
- onclick_onglet_voir=$("a_onglet_view" ).getAttribute("onclick" );
- alert (onclick_onglet_voir);
- eval(onclick_onglet_voir); // simule l'execution du onclick attaché à l'onglet "voir"
- }
|
NB : j'utilise prototype.js et dans prototype $ = getElementById
Sous firexfox le script marche et le alert donne bien le nom de la function que je veux evaluer
Sous internet explorer le script ne marche pas et le alert donne
Code :
- function anonymous {
- monScript()
- }
|
La function que je veux executer a été encapsulé dans cette function anonymous et lorsque je fait l'éval sur celle-ci (eval(onclick_onglet_voir)), rien ne se passe.
IE me renvoie une function a l'intérieur d'une autre function. Je crois que l'on apelle cela une closure. Je vais lire la dessus mais si quelqu'un a une idée elle sera la bien venue.:D:
Peut-être faut-il introspecter la chaine renvoyé pour aller chercher la function contenu et l'executer ?