6

画面上に小さなグリッドがあり、ユーザーがドラッグ アンド ドロップを使用してグリッドにタイルを配置できる (所定の位置にスナップする) jquery スクリプトをコーディングしました。現在、タイルにカーソルを合わせると、回転するオプションがフェードインしますが、右クリックして回転できるようにしたいです (より自然にします)。右クリックを完全にブロックすることはしばしば嫌われているので、特定の要素内だけで可能かどうか疑問に思っていました。そのイベントをキャプチャし、JS で何かを行い、コンテキスト メニューを無効にしますか? - すべてのブラウザで動作します。

余談ですが、現在、エフェクトにjQueryを使用し、ドラッグアンドドロップにカスタムjavascriptを使用していますが、ドラッグアンドドロップ用のjQueryプラグインを検討する価値はありますか?

どうもありがとう、

4

3 に答える 3

12

右クリックをキャプチャするには、次の jquery を使用できます。

$('#gridID').bind('contextmenu', function(e) {
   // do stuff here instead of normal context menu
   return false;
});

これは、chrome、firefox、および safari で機能します。 IE をテストしていません。IEでも動作します。唯一の注意点は、明らかに Opera では動作しないことです。それで生きていけるなら…

于 2010-06-04T13:21:02.557 に答える
0

私は Web ページでマウスの右ボタンを使用するのが好きではありません。ただし、本当にやりたい場合は、ここで説明されているようにマウスの右ボタンをトラップできます。マウスがグリッド セル上にある場合、条件付きでマウスの右ボタンをブロックする (つまり、イベント ハンドラーで false を返す) ことができます。

おまけの質問について:jquery uiにはドラッグアンドドロップ機能があります。自分で巻くよりもこちらの方が使いやすいかもしれません。

于 2010-06-04T10:56:59.803 に答える
0

「ドラッグ アンド ドロップ用の jQuery プラグインを検討する価値はありますか?」

Safariを使用する iPhone OS (iPad など) でアプリケーションを使用する予定がない場合のみ、「Safari Web コンテンツ ガイド: イベントの処理」を参照してください。

于 2010-06-04T12:19:27.803 に答える