我有以下测试代码:
<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
?我错过了一些明显的东西吗?
答案 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事件时,这个小提琴会阻止它显示上下文菜单,并允许程序员做他或她喜欢的事情。