あなたのいずれかが私の問題に遭遇したかどうか質問をください。 問題は、動的に作成されたdiv要素をドラッグ可能にしたいということです。はい、達成することができます$('.frameHolder').draggable()
。しかし、問題は、divが1000を超えてブラウザが実際に遅くなる(800 ms - performance.now()によって測定される)場合です。
var frames = [];
for (var i = 1; i <= 100; i++) {
frames.push('<div id="frame' + i + '" class="frame"><div id="frameHolder' + i + '" class="frameHolder"></div></div>');
}
$('.frameHolder').draggable({
containment: $('#layerFrameContainer .layerFrame),
axis: 'x',
cursor: 'pointer',
helper: 'clone',
grid: [10, 10]
});
みんなありがとう:
はここでスニペットです!
これに最も簡単な解決策は、ページに1000個のdivを入れないことです。可能であればページネーションを使用してください。それが可能でない場合、唯一の選択肢はJSコードを最適化することです。そのためには、jQueryをまったく使用しないことをお勧めします。 –
@RoryMcCrossanページングはできません。ああ、まあ、私は他の方法を見つける必要があります。ありがとう! – kamp
すべての 'div'sはいつでもドラッグ可能である必要がありますか?たぶん、フォーカスを持っているときと同じように、一度に1つの特定の要素をドラッグ可能にするだけです。ここでの最終目標は何か、あなたがやろうとしていることはやや曖昧です。 – Twisty