0

ユーザーが要素にマウスオーバーし、右の x と y の位置を右クリックしたかどうかを追跡するにはどうすればよいですか?

 <div style="position:absolute;left:200px;top:200px">Hello</div>

 <script>
   if ( MOUSE == divPosition && RIGHTCLICKS on it) {
       //Trigger a javascript function!
   }
 </script>

誰かが私を助けてくれることを本当に願っています。

最初に、要素が存在する位置を見つける必要があります。その後、ユーザーが要素の特定の位置を右クリックしたかどうかをマルチマウスリスタナーが追跡する必要があります。「oncontextmenu ..」を作成するだけでなく、jQueryなどで行う必要がありますが、行き詰まっています。

私はこれを試してみましたが、正常に動作しますが、「マウスオーバー」要素のみです。ユーザーが正しい位置で右クリックしたときです!

'wierdo' : function(id){
$("#item-" + id).each(function(){
boxX = $(this).offset().left;
boxY = $(this).offset().top;
boxW = $(this).innerWidth();
boxH = $(this).innerHeight();
if ((boxX <= mx) &&
    (boxX + 1000 >= mx) &&
    (boxY <= my) &&
    (boxY + boxH >= my))
{
    // mouse is over it so you can for example trigger a mouseenter event
    alert("Yes....");
    $("#item-" + id).trigger({type: "mousedown",which: 3});

    //$(this).trigger("mouseenter");
}

});

4

1 に答える 1

0

あなたはこれを探しているかもしれません:

マークアップ:

<div class='div'>Hello</div>

jQuery:

$('.div').on('contextmenu', function (e) { //<--contextmenu is right click event
  e.preventDefault();       //<------prevents the right click
  alert('rightClick customized.'); 
});

ここでフィドルをチェックアウト

于 2013-06-10T05:59:34.277 に答える