UI コードを IE でうまく実行するのに問題があります。
値のマトリックスであるテーブルがあります。各セルは空にすることも、アイテムのリストを保持することもできます。
ユーザーがセル間でアイテムをドラッグできるようにしたい。
したがって、私の HTML は次のようになります。
<table>
<tr><td></td><th scope="col">col 1</th><th scope="col">col 2</th></tr>
<tr><th scope="row">row 1</th>
<td class="droppable-cell">
<div class="draggable-item">item A</div>
<div class="draggable-item">item B</div>
</td>
<td class="droppable-cell"></td>
</tr>
<tr><th scope="row">row 2</th>
<td class="droppable-cell"></td>
<td class="droppable-cell">
<div class="draggable-item">item C</div>
<div class="draggable-item">item D</div>
</td>
</tr>
</table>
次に、jQuery 1.3.1 と jQuery UI 1.6rc6 を使用しています。
$j('.draggable-item').each(function()
{
$j(this).draggable({
addClasses: false,
revert: true,
zIndex: 2000,
cursor: 'move'
});
});
$j('.droppable-cell').each(function()
{
$j(this).droppable({
addClasses: false,
activeClass: 'droppable-cell-candrop',
hoverClass: 'droppable-cell-hover',
tolerance: 'pointer',
drop: function(event, ui)
{
//function to save change
});
});
});
これは単純化され、切り詰められた未完成のコードであることに注意してください。
私の問題は、FX、Safari、Chrome など (つまり、適切なブラウザーすべて) でこれが正常に機能することです。
IEは本当に苦労します。5x5 のテーブル IE では、ドラッグ開始時の遅延が顕著です。おそらく100個のアイテムを持つ10x10のテーブルでは、ドラッグの開始によりブラウザがハングします。
最大で 20x15 セル、おそらく最大 500 個のアイテムをサポートできるようにしたいのですが、これは不可能ですか? そうあるべきではないようです。
私は何か間違ったことをしていますか?このようにIEでページを遅くしない方法はありますか?