This是一个简单的代码:
<a id="link" href="#">Ciao</a>
$('#link').click(function () {
alert("ciao");
});
实际上,左/中键被触发(打印警报)但右键点击?为什么不?我怎么能触发它?
答案 0 :(得分:8)
绑定mousedown
以处理左键,中键和右键:
$('#link').mousedown(function(e) {
alert("ciao");
});
您可以使用e.which
来确定点击了哪个按钮。 1
:左,2
:中间和3
:右。
以下是演示:http://jsfiddle.net/fPhDg/9/
您可以阻止上下文菜单显示如下:
$('#link').contextmenu(false);
你应该非常小心地使用它!它只在一些非常罕见的情况下才有意义。
答案 1 :(得分:4)
使用.contextmenu(...)
:
$('#link').contextmenu(function () {
alert("ciao");
});
如果您想捕获这两个事件,可以使用bind(...)
函数:
$('#link').bind('click contextmenu',function()
{
alert("ciao");
});
答案 2 :(得分:2)
您可以订阅click事件和contextmenu事件,如下所示:
$('#link').on('click contextmenu', function (e) {
if (e.which === 3) {
// Right mousebutton was clicked
// 1 is left mousebutton
// 2 is centre mousebutton
}
});
答案 3 :(得分:1)
试试这个......
$('#link').mousedown(function (event) {
if(event.which === 1)
alert("left click");
if(event.which === 2)
alert("center click");
if(event.which === 3)
alert("right clikc");
});
答案 4 :(得分:0)
你可以像这样捕捉鼠标右键:
<head>
<script>
function whichButton(event)
{
if (event.button==2)
{
alert("You clicked the right mouse button!");
}
else
{
alert("You clicked the left mouse button!");
}
}
</script>
</head>
<body onmousedown="whichButton(event)">
<p>Click in the document. An alert box will alert which mouse button you clicked.</p>
</body>