2014-04-30 73 views
1

我正在使用淘汰賽3.0呈現表數據到網頁。淘汰賽自定義綁定和緩慢處理

它將大約200行加載到表中,我使用自定義綁定處理程序來允許將拖放功能放入表格列中。

該表是從數據的樹狀結構(多用於遍歷每個綁定)

的問題是,頁面加載在Internet Explorer中很慢獲取數據需要15​​秒左右,而Firefox和Chrome都與IE相比非常快(約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. 我也使用延遲更新插件

+0

IE9已經3歲了,這部分解釋了差異。你有IE 9以上的用戶嗎?我懷疑你會有很多用戶使用IE6。什麼IE版本給15s?你用IE11試過了嗎? –

+0

即使IE 11給了那麼大的差異 –

+0

呃,很奇怪,IE11經常做一個誠實的工作。 –

回答

0

你可以嘗試在此線程給出的解決方案嘗試:How can I make my jquery draggable/droppable code faster?

這麼多的存在降低目標似乎使表現如此緩慢。如果可能,請嘗試將表格設置爲單個放置目標,並根據放置 事件中的位置數據計算目標表格單元格。