【发布时间】:2013-10-05 15:41:27
【问题描述】:
我正在尝试用 php 和 jquery 构建一个扫雷游戏。这意味着我希望用户能够右键单击元素以将区域标记为潜在的炸弹或问号。现在我有右键单击事件并且代码可以正常工作,但是如果我不提醒任何东西,我会得到带有检查元素等的菜单。我尝试输入一些 return false,但它们没有帮助。如何停止右键单击时出现的菜单?
$('.overlay').mousedown(function(event) {
switch (event.which) {
case 1:
//left click code
break;
case 3:
theID = event.target.id;
if ($('#'+theID).is(":visible") && $('.bomb_'+theID).css("visibility") == "hidden"
&& $('.mystery_'+theID).css("visibility") == "hidden"){
$('#'+theID).css("background", "none");
$('.bomb_'+theID).css("visibility", "visible");
alert("x");
}else if($('.bomb_'+theID).is(":visible")){
$('.bomb_'+theID).css("visibility", "hidden");
$('.mystery_'+theID).css("visibility", "visible");
alert("y");
}else{
$('.mystery_'+theID).css("visibility", "hidden");
$('#'+theID).css("background", "#fff");
alert("z");
}
break;
}
});
已尝试添加 event.preventDefault();在 mousedown 功能下,但这不会改变任何东西。在案例3下也试过了:。
同样返回false;和 event.stopImmediatePropagation();不工作。
【问题讨论】:
-
用event.preventDefault防止鼠标右键的默认动作
-
感谢您的评论,很遗憾它没有帮助。我试着把它放在 case 3: which didn't work,以及 $('.overlay').mousedown ~
标签: javascript jquery