是否可以在图片上触发文档右键单击事件?
这就是我到目前为止所做的,我只能跟踪我的图像上的右键单击事件
<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>
感谢您的帮助
EDIT1: 我想要的是当我点击我的图像时,我想要显示菜单,而不是图像右键菜单,但是文档右键菜单 这就像图像不存在或禁用,再次感谢您的帮助:)
EDIT2: 我到目前为止所做的是使用preventDefault禁用右键单击事件,现在我需要显示菜单:
<script type="text/javascript">
document.addEventListener('contextmenu', function (e) {
e.preventDefault();
//Need to display the menu
}, false);
</script>
EDIT3: 它工作,谢谢,我创建了自己的菜单,如果我有默认菜单,那将是非常好的,但这个也很完美:)
<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>
答案 0 :(得分:4)
event.which
实际上是错误的检查......
使用event.button == 2
。请参阅MouseEvent
文档。
或者使用contextmenu
event,如@MarshallOfSound建议的那样(但随后作为答案删除),但请注意,如果用户通过另一种方法调用contextmenu
而不是右键单击,它也可能会触发,例如在OSX上左键单击+ CTRL
。这是最近的HTML5内容,因此它可能不适用于旧浏览器。
编辑修改完成后,contextmenu
可能更适合您的需求。此外,event.preventDefault
是您的朋友。 ;)