我正在尝试优化combobox代码,因为我的项目有一些延迟,因为我连续创建了四个输入框。在jFiddle中,我使用appendChild()
而不是insertAfter()
进行了一些改进。但是当我点击每个输入字段右侧的下拉箭头时,我会遇到奇怪的行为。
问题:为什么会这样?或究竟发生了什么?有人可以指出如何解决这个问题吗?
更新#1:我的解释和问题暗示我已经尝试了原始代码,并且慢我想优化它!
更新#2:在使用Chrome开发者工具进行简短分析后,我认为可能已解决此问题。虽然最初的问题仍然存在。
我做了三次测试:
insertAfter()
。 Picture#1 Picture#2 insertAfter()
函数中使用$.Widget.prototype.destroy.call(this);
并删除_destroy()
。 Picture#3 appendChild()
函数中使用$.Widget.prototype.destroy.call(this);
并删除_destroy()
。 Picture#4 对测试的评论:
$.Widget.prototype.destroy.call(this);
功能的_destroy()
来电,我有多个$.widget._destroy()
来电,这导致约25%的使用率。见Picture#2。组合框的行为例外。$.Widget.prototype.destroy.call(this);
会删除此事件触发。我不再看到延迟问题了。行为为例外。$.Widget.prototype.destroy.call(this);
会删除此事件触发。我不再看到延迟问题了。行为不是例外。与上述说明中所述的行为相同。