JavaScript - 外部类元素的事件 owerriten [duplicate]

JavaScript - event owerriten by outer class element [duplicate]

提问人:Filip Stojanovic 提问时间:8/18/2023 最后编辑:Filip Stojanovic 更新时间:8/18/2023 访问量:17

问:

我在这里发送两个事件,一个是单击特定 div 以标记使用表单元素的开始,另一个是 div 中的特定输入字段。

当内部 div 被单击时,它会显示一秒钟,然后再次被外部类元素覆盖。

$$('.form-block-company-logo').on('click', function (event) {
            sendToDataLayer({'event': 'form_creation', 'form_name': 'company_logo_add', 'step': '1'});
        });

        $$('#logo-upload').on('click', function () {
            sendToDataLayer({'event': 'form_creation', 'form_name': 'company_logo_select', 'step': '2'});
        });

具体来说,当单击它时,它会触发company_logo_select一秒钟,然后返回到company_logo_add事件。如何解决此问题?#logo-upload

谢谢

我的HTML:https://codepen.io/Filip-Stojanovic-the-typescripter/pen/YzdzyvO

JavaScript 事件处理 数据层

评论

0赞 Rory McCrossan 8/18/2023
您需要调用子元素引发的事件。有关详细信息,请参阅副本stopPropagation()
0赞 Filip Stojanovic 8/18/2023
是的,但是 $$('#logo-upload').on('click', function (e) { e.stopImmediatePropagation(); 没有为我做吗? @RoryMcCrossan
0赞 Rory McCrossan 8/18/2023
在这种情况下,您可以编辑您的问题以包含相关的 HTML,以便我们可以看到该问题的工作示例
0赞 Filip Stojanovic 8/18/2023
我已经在 codepen 上发布了 HTML @RoryMcCrossan
0赞 Rory McCrossan 8/18/2023
正确使用:jsfiddle.net/1yzqL78m。如果它不适合您,那么您需要调试另一个潜在问题。stopPropagation()

答: 暂无答案