实现点击鼠标右键时出来菜单代码如下:
主要运用oncontextmenu事件,oncontextmenu 事件在元素中用户右击鼠标时触发并打开上下文菜单。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>鼠标右键功能</title>
<link rel="stylesheet" href="1.css">
<!-- <script type="text/javascript" src="1.js"></script> -->
</head>
<body>
<ul id="menu">
<li>删除</li>
<li>变成红色</li>
<li>变成绿色</li>
<li>恢复原色</li>
<li>移到最后</li>
<li>移到最前</li>
<li><a href="http://news.baidu.com/" target="_blank" style="text-decoration: none;">搜索新闻</a></li>
</ul>
<ul id="ul1">
<li title="请点击鼠标右键">习主席定调2018中国经济,要干这些大事</li>
<li title="请点击鼠标右键">国台办:坚决惩治电信诈骗犯罪 切实维护两岸同胞利益</li>
<li title="请点击鼠标右键">北大将每年增加500万元经费支持马克思主义学院建设</li>
<li title="请点击鼠标右键">韩媒:韩军方已经计划向美增购20架F-35A隐形战斗机</li>
<li title="请点击鼠标右键">大学教师论文抄袭被撤稿 当事人:文学都是相似的</li>
<li title="请点击鼠标右键"> 冒雨退礼书记落马 同学曾劝:没50万存款做什么官</li>
<li title="请点击鼠标右键">男子寄万元茶叶外包装破损快递公司:赔6倍运费</li>
</ul>
<script>
window.onload=function (){
var content=document.getElementById('ul1').children;
var menu=document.getElementById('menu');
var menuli=menu.children;
for (var i=0; i<content.length; i++)
{
content[i].oncontextmenu=function (ev){
var event=ev||window.event;
menu.style.display='block';
menu.style.left=event.clientX+'px';
menu.style.top=event.clientY+'px';
var _this=this;
menuli[0].onclick=function (){
_this.parentNode.removeChild(_this);
};
menuli[1].onclick=function(){
_this.style.background="red";
};
menuli[2].onclick=function(){
_this.style.background="green";
};
menuli[3].onclick=function(){
_this.style.background="#ccc";
};
menuli[4].onclick=function(){
// var clone=_this.cloneNode(true);
var parent=_this.parentNode;
parent.removeChild(_this);
parent.appendChild(_this);
};
menuli[5].onclick=function(){
// var clone=_this.cloneNode(true);
var parent=_this.parentNode;
parent.removeChild(_this);
parent.insertBefore(_this,parent.firstChild);
};
return false; //阻止默认操作点击右键时不出现本身鼠标右键的菜单
};
}
document.onclick=function (){
menu.style.display='none';
};
};
</script>
</body>
</html>
css代码如下:
* { margin:0; padding:0; list-style:none; } #ul1 li { width:480px; background:#ccc; border:1px solid black; margin:10px; float:left; line-height:30px; text-indent:20px; cursor: pointer; } #menu { width:120px; border:1px solid black; position:absolute; left:0; top:0; display:none; background:white; cursor: pointer; text-indent: 20px; } #menu li { padding:3px; } #menu li:hover { background:#ccc; } #menu a{ color: black; }