1
votes

Javascript non déclenché

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>


0 commentaires

3 Réponses :


0
votes

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>


1 commentaires

En fait, mon problème était que j'utilisais define au lieu de require.



1
votes

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.


0 commentaires

1
votes

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.


0 commentaires