为什么缩小的jQuery 3.4.1具有重复的事件处理程序

时间:2019-07-01 05:53:29

标签: javascript jquery

我最近将一个站点从jQuery 2.2.0更新到了3.4.1。在更新之前和之后,我都使用了缩小版的jQu​​ery。出于某种原因,3.4.1的缩小版为每个事件处理程序添加了第二个副本。它还包括一个DOM2和Bubbling标记,并且始终具有相同的代码。如果我使用3.4.1的开发人员副本运行(因此未缩小),则这些额外的事件处理程序将不存在。我正在Mozilla Firefox中对此进行测试。 **在Google Chrome浏览器中进行测试时,我发现没有重复项。

我已经确认,当我将事件处理程序添加到新元素(通过控制台手动添加)时,就会发生这种情况。是否存在某种配置问题?

“重复”处理程序中存在的代码。

function(e) {
  return "undefined" != typeof k && k.event.triggered !== e.type ? k.event.dispatch.apply(t, arguments) : void 0
} 

1 个答案:

答案 0 :(得分:0)

当我尝试使用 alert 来打印函数结果时,这发生在我身上:

function weapon_form_control(){
    $('#dps-meter-weapon').find('input').bind('input',function(){
        var k=$('#dps-meter-weapon').find('.weapon-name').val;

        alert(k);   
    });
}   

在此示例中,我忘记在()之后添加.val,并且该函数试图打印element.val jQuery函数的完整代码,而不是其工作结果为:{{ 1}}值。