2
4

3 回答 3

5

我下载了你的 HTML 和 CSS 并做了一些测试。我能够通过删除以下 CSS 来解决问题:

.ui-widget :active {
    outline: none
}

要在当前页面document.styleSheets[0].deleteRule(23)上对此进行测试,请在控制台中执行。

更多测试表明,下拉仅在 Chrome (30) 中很慢。Firefox (23) 和 IE (10) 没有问题。

于 2013-11-15T00:21:25.713 回答
1

在操作大型或丰富(包含复杂对象)的可观察数组时,您可能会遇到性能问题。每当您对此类阵列执行任何操作时,所有订阅者都会收到通知。

想象一下,您将 100 个项目插入到一个可观察的数组中。通常,您不需要每个订阅者重新计算其依赖项 100 项,并且 UI 需要响应 100 次。相反,一次应该就好了。

为此,您始终可以修改底层数组而不是直接修改 observableArray,因为 observableArray 概念只是传统 JS 数组的函数包装器。完成数组操作后,您可以使用 .valueHasMutaded() 通知所有订阅者数组已更改其状态

. 看简单的例子:

success: function (result) {
    ko.utils.arrayPushAll(self.games, result);
    self.games.valueHasMutated();
    ....

干杯

于 2013-11-15T01:14:48.797 回答
0
  1. 页面dom元素太多,jquery很难选择元素。
  2. 如果需要处理 ajax 后绑定的大数据,最好添加一个新线程来处理。在ajax成功函数中:

    setTimeout(function(){ // 你的代码 }, 100);

对于 No.1,为什么不添加寻呼机?长长的滚动条很可怕。

于 2013-11-15T02:20:55.663 回答