鼠标右击元素时阻止浏览器右键菜单并且展示自定义右键菜单
时间: 2023-09-06 16:06:58 浏览: 99
这可以通过JavaScript来实现。首先,我们需要阻止浏览器默认的右键菜单:
```javascript
document.addEventListener('contextmenu', function(event) {
event.preventDefault();
});
```
然后,我们需要创建一个自定义的右键菜单,并且根据鼠标位置展示它。可以使用CSS创建菜单的样式,并且使用JavaScript添加事件监听器:
```javascript
// 创建自定义菜单
var menu = document.createElement('div');
menu.className = 'custom-menu';
menu.innerHTML = '<ul><li>菜单项1</li><li>菜单项2</li><li>菜单项3</li></ul>';
document.body.appendChild(menu);
// 监听右键菜单事件
document.addEventListener('contextmenu', function(event) {
event.preventDefault();
// 根据鼠标位置展示自定义菜单
menu.style.left = event.clientX + 'px';
menu.style.top = event.clientY + 'px';
menu.style.display = 'block';
});
// 监听菜单项点击事件
menu.addEventListener('click', function(event) {
// 隐藏自定义菜单
menu.style.display = 'none';
// 处理菜单项点击事件
if (event.target.tagName === 'LI') {
var menuItem = event.target.innerHTML;
console.log('你点击了菜单项:' + menuItem);
}
});
```
注意,这里使用了CSS样式来控制菜单的显示和隐藏,以及菜单项的样式。具体的CSS样式可以根据实际需求进行调整。
阅读全文