为什么jquery click事件触发两次

时间:2019-01-15 08:25:17

标签: jquery

这是我的html

<a href="#" class="nav-links proceed button-success">
    <span class="menue-title" style="margin-right: 5px; margin-top: 3px;">Proceed</span>
    <i class="fas fa-forward"></i>
</a>  

这是jquery

$('.proceed').on('click', function (e) {
    console.log(e.target.tagName);
});

这就是导致我出现问题的原因

$('.proceed').trigger('click');  

当我手动单击该按钮时,事件将触发一次。但是,当我调用trigger('click')函数时,click事件会触发两次。

更详细的诊断:

当我手动单击按钮时,console.log仅显示ASPANI一次(取决于我单击按钮的哪一部分)。但是当我调用trigger函数时,console.log两次显示A

我已经尝试过这些:

$('.proceed').off().on('click', function (e) {});
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return false;

但是没有任何方法可以解决问题。到底是什么引起了问题,我该如何解决?如何使trigger函数仅触发click事件一次?

1 个答案:

答案 0 :(得分:0)

确保您的html中没有两次没有.proceed类。