Je veux déclencher la fonction js lorsque le sous-onglet de classe est cliqué, mais cela ne semble pas fonctionner. Je n'ai aucun message d'erreur mais rien ne se passe.
Je suis sous un fichier phtml
de Magento 2.
<a href="#subcat_<?= $subcatId ?>" class="subcat-tab" title="<?= $subcat['label'] ?>" data-categoryid="<?= $subcatId ?>"> <script type="text/javascript"> define([ 'jquery' ], function ($) { console.log("ok"); $('.subcat-tab').click(function (e) { console.log(e); } }); </script>
3 Réponses :
Essayez ceci
en remplaçant "$ ('. subcat-tab'). click (function (e) {" par "$ ('. subcat-tab'). on ('click', function (e) {"
<script type="text/javascript"> define([ 'jquery' ], function ($) { console.log("ok"); $('.subcat-tab').on('click',function(e){ console.log(e); } }); </script>
En fait, mon problème était que j'utilisais define au lieu de require.
Utiliser require
au lieu de define
résoudre le problème d'une manière ou d'une autre, mais je ne sais pas vraiment pourquoi.
L'utilisation de require
est la bonne approche lorsque vous initialisez javascript dans un fichier modèle.
define
est utilisé pour les fichiers javascript dans vos dossiers web / js.