2011-01-11 16 views
0


私は、特別なクラス(ライブ)を使ってdivにleft-&のrightclickを管理するには素晴らしいソリューションが必要です。
コードはすべての新しいブラウザで動作することが重要です。Jqueryの右クリック、コンテキストメニューなし、ライブとすべてのブラウザ

誰かが私を助けることを望みます。


私の最初の試み... //右クリックは動作しません

HTML

<div id="test_one" class="my_class">Click here</div> 
<br /><br /> 
<div id="test_two" class="my_class">Click here</div> 

JS

$(document).ready(function test() 
{ 

    $(".my_class").bind("contextmenu",function(e){ return false; }); 

    $(".my_class").live('click', function(e) 
    { 
     if(e.button == 0 || e.button == 1) 
     { 
      alert('L -> '+this.id+''); 
     } 
     else if(e.button == 2){ 
      alert('R -> '+this.id+''); 
     } 
    }); 


}); 

例:http://jsfiddle.net/EWXse/

ありがとうございます! Peter

+0

可能な複製http://stackoverflow.com/questions/1206203/how-to-distinguish-left-mouse-click-and-right-with-jquery – Alpesh

+0

このリンクでも同じ質問が含まれています。http:// stackoverflow .com/questions/4007482/jquery-detect-middle-or-right-mouse-button-click-if-do-do-this-this – Alpesh

答えて

1

mousedownのドキュメントによると、右マウスの舐めはデフォルトで検出されません:http://api.jquery.com/mousedown/

How to distinguish between left and right mouse click with jQueryは、すべてのブラウザで1,2,3に正規化されているevent.buttonの代わりにevent.whichを使用することを示唆しています。

ここをクリックしてください:右クリックはMac OS XのGoogle Chromeでは動作しないようです。

+0

Mac用の2番目のマウスボタンが必要なのでしょうか? ; p –

+0

実際には、私はここにマウスの5つのボタンを持っていて、最初のものとは別のものは単純な警告(e.which)で表示されます。:-) – Coroos

関連する問題