each()、text()或我正在使用的选择器是否与IE有任何兼容性问题?[重复]

问题描述 投票:0回答:1

我有一个相当程度的代码,所以我要发布的卡盘,重要的是,并试图解释这是怎么回事。我找到了确切的一块,这是禁用我的整个jQuery的IE。我看了很多帖子,也查了很多关于IE使用旧库、套路等问题,但我找不到答案。

这段代码运行得很流畅,并且达到了这样的效果:每次输入任何类型为数字的输入时,都会发出警报。

$(document).ready(function() { 
    $("input[type=number]").on('input', function(){
      alert("123")
    });
 });

由于选择器是工作的(在前面的例子中测试过),在输入任何一个字段后,我尝试将我的表单中所有的数字输入相加,并将结果文字化。然后,它就把我的整个代码堵死了。

$(document).ready(function() { 
   $("input[type=number]").on('input', function(){
     let tot = 0;
     $("form#form-residential :input[type='number']").each((i, el) => tot += parseInt(el.value || 0, 10));
     $('.total-residential').text(tot);
     });
  });

有人遇到过类似的情况吗?

jquery internet-explorer
1个回答
1
投票

https:/developer.mozilla.orgen-USdocsWebJavaScriptReferenceFunctionsArrow_functions

根据MDN的说法,每个版本的IE都不支持箭头函数,这就是导致错误的原因。

你可以用一个匿名函数声明来代替它。function(i, el){ tot += parseInt(el.value || 0, 10); }

© www.soinside.com 2019 - 2024. All rights reserved.