0

这是我遇到的问题。我需要在可拖动的 div 上附加某种句柄。

我需要做的是每次右键单击父级中的 div 时捕获鼠标右键。

这是我的孩子创建代码。这段代码工作正常,我可以毫无问题地创建多个 div。

var smallBlock = $('<div class="SmallBlock"></div>').appendTo("#canvas");
smallBlock..draggable({containment: "#canvas", scroll: false, grid: [10, 10]}, {cursor: "move", cursorAt: {top: 125, left: 150}})
smallBlock.append('<div class="article_title fontCenter fontBold font32">Article Title</div>')
smallBlock.append('<div class="article_Image"><img style="width: 250px;" src="<? echo $image1 ?>"></div>')
smallBlock.append('<div class="font14"><? echo substr($article_text, 0, 200) ?></div>') 

这是鼠标点击代码。

<script type="text/javascript">

function getRightClick()
{
    // check for right mouse pressed

$('#canvas').mousedown(function(event) {
    switch (event.which) {
        case 1:
            alert('Left mouse button pressed');
            break;
        case 2:
            alert('Middle mouse button pressed');
            break;
        case 3:
            alert('Right mouse button pressed');
           break;
        default:
            alert('You have a strange mouse');
    }
});
}

</script>

我不知道如何让 div 识别鼠标右键单击它。

顺便说一句,我需要检测父级中的其他类 div;所以更通用的解决方案可能会更好。

4

3 回答 3

1

试试这个:

$("#canvas").bind("contextmenu", function(e) {
  alert('Right mouse clicked'); 
});
于 2012-12-05T22:08:49.033 回答
0

您可以将其添加到上下文 id 元素中:

oncontextmenu="alert('right click on element');return false;

或者这个:

jQuery('#yourDIVId').mousedown(function(event) {
   var rightclk = false;
   if (event.which) rightclick = (event.which == 3);
     if(rightclk == true){
        alert('yes')
    }
});
于 2012-12-05T22:23:45.290 回答
0

这样的事情可能会有所帮助:

<head>
<script src="http://code.jquery.com/jquery-2.0.2.min.js"></script>
<script>
    $('#page').ready(function() {
        $('#page').bind('contextmenu', function(event) {
            alert($(event.target).attr('id'));
            /*you can replace the alert with any function that you want to bind with right click
             */
        });
    });
</script>

<body>
    <div id='page'>
        <div id="divParent">click parent
            <div id="divChild">click child</div>
        </div>
    </div>
</body>
</body>

在此处输入链接描述

于 2014-02-27T11:12:00.290 回答