jquery - 右键单击​​无法正常工作

时间:2014-11-10 16:59:59

标签: jquery click

我有以下测试代码:

<script language="JavaScript" src="..\Generic\JAVASCRIPT\jQuery-min.js" type="text/javascript"></script>
<script language="JavaScript" src="..\Generic\JAVASCRIPT\jQuery-ui-min.js" type="text/javascript"></script>
<script language="JavaScript">
$(document).ready(function()
{
    $('#SG1').click(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>

<p class="submit">
    <input id="SG1" type="submit" name="submit" value="SG1">
</p>

如果我左键单击,它可以正常工作(事件1)。

如果我点击MIDDLE,它可以正常工作(事件2)。

如果我点击右键,没有任何反应(好吧,我得到通常的菜单,但没有警报)

如果我将操作从click更改为mousedown,则按预期工作。为什么它不适用于click?我错过了一些明显的东西吗?

3 个答案:

答案 0 :(得分:2)

尝试此操作以禁用上下文菜单弹出:

$(&#34;#SG1&#34;)。bind(&#34; contextmenu&#34;,function(){return false;});

然后它应该工作。

答案 1 :(得分:1)

使用mousedown

<强> FIDDLE

$(document).ready(function()
{
    $('#SG1').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!');
    }
})  
})

答案 2 :(得分:0)

您的代码存在的问题是右键单击调用contextmenu事件。如果你想禁用它,请看这个小提琴:http://jsfiddle.net/4gk7zv9z/

在调用contextmenu事件时,这个小提琴会阻止它显示上下文菜单,并允许程序员做他或她喜欢的事情。