淘汰赛自定义绑定和慢速处理

时间:2014-04-30 10:53:21

标签: javascript jquery jquery-ui knockout.js knockout-3.0

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

它向表中加载大约200行,我使用自定义绑定处理程序将拖放功能放入表列。

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

问题在于,Internet浏览器中的页面加载速度非常慢,大约需要15秒,而与IE相比,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. 我也尝试使用延迟更新插件

1 个答案:

答案 0 :(得分:0)

您可以尝试此主题中提供的解决方案:How can I make my jquery draggable / droppable code faster?

  

这么多掉落目标的出现似乎使得表现如此   慢。如果可能,尝试将表设置为单个放置目标和   根据drop中的位置数据计算目标表单元格   事件