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.