在HTML页面中如何添加自定义右键菜单
这篇文章将为大家详细讲解有关在HTML页面中如何添加自定义右键菜单,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
成都创新互联公司专注于企业营销型网站、网站重做改版、让胡路网站定制设计、自适应品牌网站建设、成都h5网站建设、商城建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为让胡路等各大城市提供网站开发制作服务。
页面设计
首先将这三个功能以一个列表
- 的形式放置。鼠标移入时样式改变,移出时还原
- 顶部
- 点赞
- 评论
菜单逻辑
菜单逻辑共包括阻止默认行为、显隐效果和位置判断三个部分
默认行为
通常,点击右键时,会弹出浏览器的默认右侧菜单
通过return false可以实现阻止默认行为的效果,当然也可以使用preventDefault()和returnValue,详细信息移步至此
document.oncontextmenu = function(){ return false; }
显隐
右键菜单默认隐藏,点击右键时显示,点击左键时再隐藏
关于元素显隐,个人总结过共9种思路,本文就用最简单的display属性
位置判断
鼠标对象共有6对坐标位置信息,若把右键菜单设置为fixed固定定位,则选择clientX/Y即可
一般地,右键菜单的左上角位置应该是当前鼠标的坐标处
但是,还有另外2种情况需要考虑
【1】如果鼠标的位置到视口底部的位置小于菜单的高度,则鼠标的位置为菜单的底部位置
【2】如果鼠标的位置到视口右侧的位置小于菜单的宽度,则视口的右侧为菜单的右侧
元素的尺寸信息共有偏移尺寸offset、可视区尺寸client和滚动尺寸scroll,此时菜单的宽高应该为偏移尺寸offsetWidth/offsetHeight(全尺寸包含width、padding、border)