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