未触发Javascript

未触发Javascript,javascript,php,jquery,magento,magento2,Javascript,Php,Jquery,Magento,Magento2,我想在单击ClassSubcat选项卡时触发js函数,但它似乎不起作用。我没有任何错误消息,但什么都没有发生 我在Magento 2的phtml文件下 <a href="#subcat_<?= $subcatId ?>" class="subcat-tab" title="<?= $subcat['label'] ?>" data-categoryid="<?= $subcatId ?>

我想在单击ClassSubcat选项卡时触发js函数,但它似乎不起作用。我没有任何错误消息,但什么都没有发生

我在Magento 2的
phtml
文件下

<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>
试试这个

将“$('.subcat选项卡')替换为“$”('.subcat选项卡')。单击(函数(e){”替换为“$”。单击('click',函数(e){”


定义([
“jquery”
],函数($){
控制台日志(“ok”);
$('subcat tab')。在('click',函数(e){
控制台日志(e);
}
});

使用
require
而不是
define
以某种方式修复它,但不知道为什么。

在模板文件中初始化javascript时,使用
require
是正确的方法。
define
用于web/js文件夹中的javascript文件。

实际上我的问题是我使用的是define而不是require。
<script type="text/javascript">
    define([
        'jquery'
    ], function ($) {
        console.log("ok");
        $('.subcat-tab').on('click',function(e){
            console.log(e);
        }
    });
</script>