Jquery组合框优化时的奇怪行为

时间:2013-03-14 09:27:25

标签: javascript jquery html performance

我正在尝试优化combobox代码,因为我的项目有一些延迟,因为我连续创建了四个输入框。在jFiddle中,我使用appendChild()而不是insertAfter()进行了一些改进。但是当我点击每个输入字段右侧的下拉箭头时,我会遇到奇怪的行为。

问题:为什么会这样?或究竟发生了什么?有人可以指出如何解决这个问题吗?

更新#1:我的解释和问题暗示我已经尝试了原始代码,并且我想优化它!

更新#2:在使用Chrome开发者工具进行简短分析后,我认为可能已解决此问题。虽然最初的问题仍然存在。

我做了三次测试:

  1. 使用insertAfter()Picture#1 Picture#2
  2. insertAfter()函数中使用$.Widget.prototype.destroy.call(this);并删除_destroy()Picture#3
  3. appendChild()函数中使用$.Widget.prototype.destroy.call(this);并删除_destroy()Picture#4
  4. 对测试的评论:

    1. 似乎发生了一些事件触发。由于来自$.Widget.prototype.destroy.call(this);功能的_destroy()来电,我有多个$.widget._destroy()来电,这导致约25%的使用率。见Picture#2。组合框的行为例外。
    2. 似乎从代码中删除$.Widget.prototype.destroy.call(this);会删除此事件触发。我不再看到延迟问题了。行为为例外。
    3. 似乎从代码中删除$.Widget.prototype.destroy.call(this);会删除此事件触发。我不再看到延迟问题了。行为不是例外。与上述说明中所述的行为相同。

0 个答案:

没有答案