是否可以在图像上触发文档右键单击事件?
这就是我到目前为止所做的,我只能跟踪我的图片上的右键单击事件
<script type="text/javascript">
$("#myImage").mousedown(function (event) {
if (event.which == 3) {
//I need Some code to fire Document right click event (or maybe a different method)
}
});
</script>
谢谢你的帮助
编辑1: 我真正想要的是当我右键点击我的图片时,我想显示一个菜单,不是图片右键菜单,而是文档右键菜单 好像图片不存在或已禁用,再次感谢您的帮助:)
编辑2: 到目前为止我所做的是使用 preventDefault 禁用右键单击事件,现在我需要显示菜单:
<script type="text/javascript">
document.addEventListener('contextmenu', function (e) {
e.preventDefault();
//Need to display the menu
}, false);
</script>
编辑3: 谢谢,我创建了自己的菜单,如果我有默认菜单那就太好了,但这个也很完美:)
<script type="text/javascript">
$(document).bind("contextmenu", function (event) {
event.preventDefault();
$(".custom-menu").toggle(100).
css({
top: event.pageY + "px",
left: event.pageX + "px"
});
});
//To hide the menu if left click event is fired
$(document).bind("mousedown", function () {
$(".custom-menu").hide(100);
});
</script>
//New Menu
<ul class='custom-menu'>
<a>Back</a><br />
<a>Refresh</a><br />
<a>Save</a><br />
</ul>
<style type="text/css">
.custom-menu {
position: absolute;
background-color:#EEE;
overflow: hidden;
width: 100px;
}
</style>
最佳答案
event.which
其实是错误的检查...
使用 event.button == 2
。查看MouseEvent
文档。
或者使用contextmenu
event ,正如@MarshallOfSound 所建议的(但随后作为答案被删除),但请注意,如果用户通过右键单击以外的其他方法调用 contextmenu
,它也可能会触发,例如在 OSX 上左键单击 + CTRL
。而且它是最新的 HTML5 内容,因此它可能不适用于旧版浏览器。
编辑 编辑后,contextmenu
可能更适合您的需要。另外,event.preventDefault
是你的 friend 。 ;)
关于javascript - PreventDefault 右键单击图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24272198/