6

我编写了一个 jquery 脚本,其中屏幕上有一个小网格,并且使用拖放用户可以在网格上放置图块(卡到位)。目前,如果您将鼠标悬停在瓷砖上,它会淡出旋转选项,但如果您可以右键单击旋转(使其更自然),我会更喜欢它。我知道完全阻止右键单击通常不受欢迎,所以想知道是否可能仅在特定元素内,然后捕获该事件,在 JS 中执行某些操作并禁用上下文菜单?- 适用于所有浏览器。

顺便说一句,目前我正在使用 jQuery 进行效果和自定义 javascript 进行拖放,是否值得查看用于拖放的 jQuery 插件?

非常感谢,

4

3 回答 3

12

要捕获右键单击,您可以使用此 jquery:

$('#gridID').bind('contextmenu', function(e) {
   // do stuff here instead of normal context menu
   return false;
});

这适用于 chrome、firefox 和 safari。 没有测试过 IE。也可以在 IE 中使用。唯一需要注意的是,它显然在 Opera 中不起作用。所以如果你能忍受那...

于 2010-06-04T13:21:02.557 回答
0

我不喜欢在网页上使用鼠标右键。但是,如果您真的想这样做,可以按照此处所述捕获鼠标右键。如果鼠标在您的网格单元格上,您可以有条件地阻止鼠标右键(换句话说,在您的事件处理程序中返回 false)。

关于您的奖金问题:jquery ui 具有拖放功能。使用它可能比自己滚动更容易。

于 2010-06-04T10:56:59.803 回答
0

“值得看一个用于拖放的 jQuery 插件吗?”

仅当您不打算将您的应用程序用于带有 safari 的 iPhone 操作系统(即包括 iPad)时,请参阅Safari Web 内容指南:处理事件

于 2010-06-04T12:19:27.803 回答