$(this), fonction et porté des variables
Bonjour,
Débutant en JQuery depuis hier, je suis confronté à un problème peut être plus proche du JS que du JQuery. Je découvre en même temps que le jquery l'usage des attributs data- des balises HTML que je trouve bien pratique, sauf que j'ai un problème...
Code:
1 2 3 4 5 6 7 8
| <div data-pouet="hop" class="truc" />
<script language="javascript">
function MaSuperFonction(e)
{
alert($(this).data('pouet')); // ne marche pas
}
$('truc').on("click", function(event){MaSuperFonction(event)};);
</script> |
ce à quoi vous allez naturellement me dire que c'est normal que ça ne marche pas puisqu'une fois dans MaSuperFonction, this ne fait plus référence à ma div mais à la fonction.
La question est donc de savoir comment je devrais m'y prendre pour pouvoir accéder aux datas de la div, si possible en évitant d'avoir recours à un 2ème paramètre pour MaSuperFonction() ?
J'ai vu qu'il existait pour .on() un prototype qui permettait d'hydrater l'event avec des attributs supplémentaires, ce qui pourrait être un genre de solution acceptable pour mon cas...
Vous feriez comment vous ?