IEでよく機能するUIコードを取得できません。IEのテーブルでjQuery UIのパフォーマンスに関する問題が発生しました
私はテーブルを持っています - 値の行列。各セルは空でも、アイテムのリストを保持することもできます。
ユーザーがセル間で項目をドラッグできるようにしたい。
だから私のHTMLは次のようなものになります。これは、単純化された切り捨てと未完成であること
$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
});
});
});
注:その後、私はjQueryの1.3.1とjQuery UI 1.6rc6を使用してい
<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>
をコード。
私の問題は、FX、Safari、Chromeなど(すべてのまともなブラウザ)ではうまくいきます。
IEは本当に苦労します。 5x5の表でドラッグの開始時にIEの遅延が目立つ。おそらく100個のアイテムを含む10x10のテーブルで、ドラッグの開始がブラウザをハングアップします。
20x15までのセルをサポートしたいと思うかもしれません。おそらく最大500アイテムです。これは単なる不可能なのでしょうか?それはそうすべきではないようです。
何か間違っていますか?このようなIEのページを遅くしないこれを行う方法はありますか?
私もこの正確な問題を抱えています。大きなテーブル、テーブル内のネストされたdiv。 firefoxは10秒以内にページをレンダリングします。つまり、2分待ってからテーブルをレンダリングします。 firefoxはまだドラッグとdtopと一緒にジップ、すなわちクロール..本質的にそれはフリーズし、ドラッグ&ドロップは動作しません。 以下のいくつかのソリューションを試してみます。固定幅、および#idのtagname.class参照。しかし、私はまだそれが遅くなる恐れがあります。他の誰かがいいアイデアを持っているなら、私はすべての耳になるでしょう。 – Bingy
ええええええええええええええええええええええええええええええええええええええええええええええることは、IEのユーザーを制限することでした.FXとChromeユーザーができる行と列の小さなサブセットしか選択できません。それでもIE8はちょうど25セル(5x5グリッド)のセルにしか対処できません.7と6は絶望的です。それは90年代後半のウェブ開発の思い出をもたらし、醜いことですが、ブラウザが非常に貧弱であれば、他に何ができますか? – Keith
同じ問題があると、IEは大規模なグリッドでは非常に遅いですが、ChromeとFirefoxは問題ありません。 –