自定义oncontextmenu

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="智能社 - zhinengshe.com" />
<meta name="copyright" content="智能社 - zhinengshe.com" />
<title>智能社 - www.zhinengshe.com</title>
<style>
*{margin:0;padding:0;list-style:none;}
#menu1{display:none; position:absolute;left:0;top:0;width:100px; border:1px solid #000; overflow:hidden;}

#menu1 li{width:100%; height:30px; line-height:30px; text-align:center; background:#ccc; border-bottom:1px solid #000;}
#menu1 li:hover{ background:#c00; color:#fff;}
#ul1 li{float:left;width:200px; height:30px; line-height:30px; text-align:center; background:#ccc; border:1px solid #000; margin:10px;}

</style>
<script>

window.onload = function(){
    var oUlMenu = document.getElementById("menu1");
    var aMLi = oUlMenu.children;
    var oUl = document.getElementById("ul1");
    var aLi = oUl.children;

    var currentLi = null;
    for(var i = 0; i < aLi.length; i++){
        aLi[i].oncontextmenu = function(ev){
            currentLi = this;
            var oEvent = ev || event;
            oUlMenu.style.display = "block";
            oUlMenu.style.left = oEvent.clientX + "px";
            oUlMenu.style.top = oEvent.clientY + "px"
            return false;//禁止默认的鼠标右击出现选项弹窗,和oncontextmenu配合使用
        };
    }

    aMLi[0].onclick = function(){
        currentLi.parentNode.removeChild(currentLi);
        oUlMenu.style.display = "none";
    };

    aMLi[1].onclick = function(){
        currentLi.style.background = "red";
        oUlMenu.style.display = "none";
    };
    aMLi[2].onclick = function(){
        currentLi.style.background = "green";
        oUlMenu.style.display = "none";
    };

};

</script>
</head>

<body>

<ul id="menu1">
    <li>删除</li>
    <li>变红</li>
    <li>变绿</li>
</ul>

<ul id="ul1">
    <li>00000000000000000</li>
    <li>11111111111111</li>
    <li>22222222222222</li>
    <li>3333333333333</li>
    <li>4444444444444</li>
</ul>
</body>
</html>

时间: 2024-10-10 13:23:21

自定义oncontextmenu的相关文章

HTML自定义右键菜单oncontextmenu

右键菜单原理:取消右键菜单oncontextmenu的默认事件,然后添加自定义样式. 一.阻止默认事件 ie: window.event.returnValue = false; w3c: window,event.preventDafault(); 二.阻止事件流 ie: window.event.cancleBubble = true; w3c: window.event.stopPropagation(); 三.代码 不用window获取窗口,因为该元素不支持ie8,采用document.

js oncontextmenu阻止右键默认菜单 默认行为

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> *{ margin:0px; padding:0px; } #div1{ position:absolute; width:200px; background:#F00; color:#FFF; display:none; } </st

自定义右键菜单

自定义右键菜单 技术一般水平有限,有什么错的地方,望大家指正. 自定义右键菜单,对于一些ERP系统,功能操作比较多,所以我们通常把常用的几个功能放在自定义的右键菜单里方便用户使用. 实现自定义菜单很简单,首先我们要屏蔽原始的右键菜单,自定义菜单出现在鼠标的位置,点击隐藏自定义菜单,过程就是这样的. *{margin:0;padding:0} a{text-decoration:none} ul li{list-style:none} .menu{border:1px solid black;bo

阻止右键菜单(阻止默认事件)&amp;&amp;跟随鼠标移动(大图展示)&amp;&amp;自定义右键菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

完美拖拽 &amp;&amp;仿腾讯微博效果&amp;&amp; 自定义多级右键菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

简单的自定义鼠标右键菜单

Window95 在PC中引入上下文菜单的概念,即通过鼠标右键调出上下文菜单,不久之后这个概念也被引入web中. 接下来我们来学习一下如何js自定义鼠标右键的菜单.  1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>contextmenu</title> 6 </head> 7 <body> 8 //

实现右键自定义菜单

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; min-height: 36.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #d74200 } p.p4 {

js实现自定义鼠标右键-------Day45

又是周末了,不过其实这在国外应该算是一周的开始吧,不管怎么说,今天是在休息,放松我紧绷的神经,放松我有些疲惫的精神,昨晚上要裂了般的头疼,仿佛所有的数据都在脑子字面飞舞旋转,伴着一阵阵的恶心,当时把媳妇儿给吓坏了,实在不知道科比是每天怎么看到那凌晨四点钟的太阳的,这体质没法说了,而有一点却是不得不说,这身体真的才是一切的根本,友情建议各位朋友还是好好锻炼身体,我也要好好锻炼身体. 回顾这一周,项目组长的一句话给我很大的触动,原话我记不得怎么说了,大抵意思是说:不论你会多少,你终究要用上了才是你的

jquery 自定义右键菜单

如果要自定义右键菜单,那么就需要禁止原本的右键菜单,代码如下 document.oncontextmenu = new Function("return false;");//禁止右键默认菜单 该自定义右键菜单是基于jquery上的 html+css: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title&g