1

我正在使用Knockout 3.0将表格数据呈现到网页。

它将大约 200 行加载到表中,我正在使用自定义绑定处理程序来允许将功能拖放到表列中。

该表正在从数据树结构中获取数据(每个绑定多个用于遍历)

问题在于,与 IE 相比,Internet Explorer 中的页面加载速度非常慢,大约需要 15 秒,而 Firefox 和 chrome 非常快(大约 3 秒)。

我修剪了代码,发现我的一个自定义绑定(这是可丢弃的绑定导致了问题)。

如何在 IE 中提高渲染速度。(6,7,8,9)?

ko.bindingHandlers.droppable = {
    init: function (element) {
        $(element).droppable({
            hoverClass: "ui-state-active",
            activeClass: "ui-state-hover",
            accept: ".ui-draggable", //  .selected
            tolerance: "pointer",
            drop: function (event, ui) {
                var data = ko.dataFor(element);
                // Gets dragged item and manipulates the data
            }
        });
    }
};

并在表格列中调用,例如 <td class="outerDroppable b" data=bind="droppable">

我想到的可能的选择。

  1. 加载整个表数据后应用自定义绑定??(但我怎么能这样做)

  2. 我也尝试使用延迟更新插件

4

1 回答 1

0

您可以尝试此线程中给出的解决方案:如何使我的 jquery 可拖动/可放置代码更快?

如此多的放置目标的存在似乎使性能如此缓慢。如果可能,尝试将表格设置为单个放置目标,并根据放置事件中的位置数据计算目标表格单元格。

于 2014-04-30T12:08:17.777 回答