经过几次传递后,JQuery自动完成速度非常慢

时间:2017-12-24 19:13:58

标签: javascript jquery performance google-chrome google-chrome-devtools

这是我使用的代码:

this.input = $( "<input>" )
      .appendTo( this.wrapper )
      .val( value )
      .attr( "title", "" )
      .addClass( "form-control ui-widget ui-widget-content ui-state-default ui-corner-left" )
      .autocomplete({
        delay: 0,
        minLength: 0,
        source: ['first_element', 'second_element', 'third_element', ..., 'hundredth_element']
      })
      .tooltip({
        classes: {
          "ui-tooltip": "ui-state-highlight"
        }
      });

前几次它速度很快,但从第5次开始变得非常慢。

我尝试使用Google Dev Tools和Firefox来衡量其效果,只有谷歌浏览器才会这么慢。

[编辑]

Google Dev Tools建议性能问题存在于&#34; source&#34 ;,由jquery完成的排序过程会导致脚本挂起几秒钟并且每次运行时都会等待#34;等待时间&#34;以指数方式增加。

有没有办法避免这个问题?

谢谢。

0 个答案:

没有答案