自定义oncontextmenu[通俗易懂]

自定义oncontextmenu[通俗易懂]<!doctypehtml><html><head><metacharset=”utf-8″><metaname=”author”content=”智能社-zhinengshe.com”/><metaname=”copyright”content=”智能社-zhinengshe.com”…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

<!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>

自定义oncontextmenu[通俗易懂]

转载于:https://www.cnblogs.com/heboliufengjie/p/4307181.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170380.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月14日 上午8:46
下一篇 2022年8月14日 下午10:16


相关推荐

  • 【APICloud系列|29】dialogBox模块(对话框)的实现

    【APICloud系列|29】dialogBox模块(对话框)的实现导读 dialogBox 封装了十一种款式的对话框 每一种款式都提供一个接口来调用 开发者可按照各个接口的样式来自定义对话框上的文字 图片 图文等把 dialogBox 模块的 11 个样式分别实现个简单的效果 其中将 alert 方法做了两个样式 如果你觉得我写的样式够丑 请不要喷我 因为我是程序猿 呵呵了 如果你接受了就直接用到你的项目 否则自己再根据官方的文档和结合自己的产品需求 来定义更多高大上的样式 接下来我拿几个我常用的方法给大家简单介绍下 其它的大家可以看看模块的视频效果以后 自

    2026年3月20日
    2
  • 数百万辆汽车的最强大脑——云端车联网架构实战

    数百万辆汽车的最强大脑——云端车联网架构实战

    2022年3月6日
    53
  • Python+opencv调用摄像头获取视频保存到本地并应用到YOLO中保存视频检测后的结果

    Python+opencv调用摄像头获取视频保存到本地并应用到YOLO中保存视频检测后的结果文章目录前言读写视频流获取摄像头:写入视频:完整的调用摄像头并保存视频代码应用到YOLO中总结前言之前的文章介绍了如何调用摄像头间隔拍照并保存图片(文章链接:Python+OpenCV调用摄像头固定间隔时间拍照并保存到本地同时应用到YOLO中检测目标),这篇文章再介绍一下如何调用摄像头并保存视频。读写视频流获取摄像头:capture=cv2.VideoCapture(0)ref,frame=capture.read()前文介绍过,cv2.VideoCapture()获取摄像头

    2022年6月22日
    32
  • C++ SetTimer

    C++ SetTimer我搞了好久 最终也没成功的让SetTimer 回调一个非静态成员函数不过问题是解决了那就是把成员函数和要用到的那个成员变量换成静态了(有点拆东墙补西墙了)不过方法肯定是有的UINT_PTRSetTimer(HWNDhWnd,//窗口句柄UINT_PTRnIDEvent,//定时器ID,多个定时器

    2025年8月14日
    3
  • 面向对象的四大特征(非常重要)

    面向对象的四大特征(非常重要)面向对象四大特征 抽象 封装 继承 多态 非常重要 1 抽象定义 抽象是将一类对象的共同特征总结出来构造类的过程 包括数据抽象和行为抽象两方面 抽象只关注对象的哪些属性和行为 并不关注这此行为的细节是什么 1 1 研究事物的静态特征 属性 1 2 研究事物的动态特征 方法 函数 1 3 形成结果 类 class 1 4 类和对象相互转变 new 举例说明 学生有姓名 有年龄 有身份证

    2026年3月16日
    2
  • 普通用户免输密码切换root「建议收藏」

    普通用户免输密码切换root

    2022年2月22日
    68

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号