Jquery右键单击,无上下文菜单,实时和所有浏览器
我需要一个很好的解决方案来管理左侧和右侧右键单击具有特殊类(实时)的 div。
对我来说重要的是代码可以在每个新浏览器上运行。
希望有人能帮助我。
我的第一次尝试... // 右键单击不起作用
HTML
<div id="test_one" class="my_class">Click here</div>
<br /><br />
<div id="test_two" class="my_class">Click here</div>
JS
$(document).ready(function test()
{
$(".my_class").bind("contextmenu",function(e){ return false; });
$(".my_class").live('click', function(e)
{
if(e.button == 0 || e.button == 1)
{
alert('L -> '+this.id+'');
}
else if(e.button == 2){
alert('R -> '+this.id+'');
}
});
});
示例: http://jsfiddle.net/EWXse/
提前致谢! 彼得
i need i nice solution to manage the left-& rightclick on a div with a special class (live).
It is important for me that the code works on every new browser.
Hope somebody can help me.
My first try ... // the rightclick does not work
HTML
<div id="test_one" class="my_class">Click here</div>
<br /><br />
<div id="test_two" class="my_class">Click here</div>
JS
$(document).ready(function test()
{
$(".my_class").bind("contextmenu",function(e){ return false; });
$(".my_class").live('click', function(e)
{
if(e.button == 0 || e.button == 1)
{
alert('L -> '+this.id+'');
}
else if(e.button == 2){
alert('R -> '+this.id+'');
}
});
});
example: http://jsfiddle.net/EWXse/
Thanks in advance!
Peter
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据 mousedown 的文档,默认情况下无法检测到鼠标右键舔: http://api.jquery.com /mousedown/ 。
如何使用 jQuery 区分鼠标左键单击和右键单击< /a> 建议您使用 event.which 而不是 event.button,因为 .which 在所有浏览器中都标准化为 1,2,3。
值得一提的是:在 Mac OS X 上的 Google Chrome 中,单击鼠标右键似乎不起作用。
According to the documentation of mousedown the right mouse lick is not detectable by default: http://api.jquery.com/mousedown/ .
How to distinguish between left and right mouse click with jQuery suggests that you use event.which instead of event.button, as .which is normalised to 1,2,3 across all browsers.
For what it is worth: right mouse clicks don't seem to work in Google Chrome on Mac OS X here.