2012-04-10 5 views
1

ノード(Raphael rect)にイベントドラッグがアタッチされている状況があります。私はドラッグを区別し、ブラウザのコンテキストメニューの表示を停止するには をクリックしdragMoveハンドラでtrueにeditLabelFlagを設定していますドラッグアンド右クリックイベントjqueryのカスタムコンテキストメニュー

if (editLabelFlag == false) { 
    if (event.which == 3) { 
     event.preventDefault(); 
     $('#contextmenu').slideDown('fast').delay(1000).slideUp(); 
     // code for 
    } 
} else { 
    // drag code 
} 

を区別していますdragStopハンドラで

r4.drag(dragMove, dragStart, dragStop); 

私はevent.preventDefault()を与えました。

私が直面している問題は、これが初めて完全に発生し、ノード上のすべての後で右クリックすると、ブラウザのコンテキストメニューしか得られないということです。私はFirebugをチェックし、contextmenu divは常にdisplay noneのままであり、初めてdisplay blockになることを確認しています。 event.preventDefaultの代わりにfalseを返そうとしましたが、ブラウザメニューの下にメニューが表示されます。

preventDefaultでこの問題が発生していますか? は、それは実際に私がクローンを作成し、元をドラッグして、任意のイベントを停止し、ブラウザによるものではなかったいくつかの

+0

この投稿は役に立つかもしれません:http://stackoverflow.com/a/706728/239380 – keegan3d

+0

答えのいずれかの質問は、最初の時間の後に処理されていないイベントを指していません!私のコードは、Simonによって投稿された最後の答えと似ています – kavita

答えて

1

を提供してください。ドラッグスタートでは、クローンはオリジナルの場所に置かれ、クリックの間は削除されませんでした。したがって、オリジナルのためにマッピングされたイベントはクローンのために働かなかったため、クリックは一度だけ発生しました。お時間を

おかげ

関連する問題