0

可動要素が取り付けられた div があります。div 内には、スクロール バーを伴うボタンのリストがあります。スクロールバーをドラッグしようとすると、画面全体で div 全体をドラッグするだけです。このコード フラグメントでは、スクロール バー (metL の一部) をクリックしたときにムーバブルをオフにしようとしています。ここに画像の説明を入力

divのドラッグを再開するために、divセットの他の場所にある「metId」があります。

一時停止と再開が機能しません。

問題を解決するための助けがあれば、ありがとうございます。

4

1 に答える 1

-1

関連するすべての要素の構造を含む html マークアップを見ずに、質問に答えるのは非常に困難です。あなたが達成しようとしていることを実行するためのより良いアプローチがあるかもしれません. それにもかかわらず、私は 1 つの考えられる問題を指摘しています。

dragstartDojo が、mousedown、またはselectstartイベントをドラッグ ハンドルに登録すると、ドラッグ アンド ドロップ アクションが開始されます。あなたの場合、ドラッグハンドルは id の div"divMenu"+threadIdです。これらのイベントはすべて、イベントが発生する前にトリガーされるためclick、一時停止しmoveBlockerても効果はありません。

さらに、あなたの moveBlocker イベントは空の関数であってはなりません。代わりに、関連するイベントがドラッグ ハンドルに伝播されるのを積極的に「ブロック」する必要があります。

var moveBlocker = on.pausable(dnd.handle, "mousedown,dragstart,selectstart", function(e) {
    e.stopPropagation();
    e.preventDefault();
});

実行しようとしている動作に応じて、他のイベント ハンドラーも "mousedown" イベントに登録する必要があります。

于 2013-08-11T10:04:08.237 に答える