电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

JS自定義右鍵菜單實現代碼解析

瀏覽:137日期:2024-04-30 09:02:49

今天來講一個關于右鍵菜單的小demo,拋磚引玉。

首先,我們要用css和html做一個自定義右鍵菜單。

<!--自定義右鍵菜單html代碼--><div id='menu'><div class='menu'>功能1</div><div class='menu'>功能2</div><div class='menu'>功能3</div><div class='menu'>功能4</div><div class='menu'>功能5</div></div>

/*css代碼*/#menu{width: 0; /*設置為0 隱藏自定義菜單*/height: 125px;overflow: hidden; /*隱藏溢出的元素*/box-shadow: 0 1px 1px #888,1px 0 1px #ccc;position: absolute; /*自定義菜單相對與body元素進行定位*/}.menu{width: 130px;height: 25px;line-height: 25px;padding: 0 10px;}

現在我們已經有了自定義菜單,還需要一個很重要的事件 contextmenu。

> contextmenu :當你在頁面上右鍵點擊時,會觸發此事件,并會跳出瀏覽器自帶的右鍵菜單。

所以,我們要做的就是,在觸發contextmenu事件時,取消掉默認行為(也就是阻止瀏覽器顯示自帶的菜單)

通過傳入的事件對象,來確定鼠標的點擊位置,作為left和top的值來進行元素的定位,并顯示自定義菜單

window.oncontextmenu=function(e){//取消默認的瀏覽器自帶右鍵 很重要!!e.preventDefault();//獲取我們自定義的右鍵菜單var menu=document.querySelector('#menu');//根據事件對象中鼠標點擊的位置,進行定位menu.style.left=e.clientX+’px’;menu.style.top=e.clientY+’px’;//改變自定義菜單的寬,讓它顯示出來menu.style.width=’125px’;}//關閉右鍵菜單,很簡單window.onclick=function(e){//用戶觸發click事件就可以關閉了,因為綁定在window上,按事件冒泡處理,不會影響菜單的功能document.querySelector(’#menu’).style.height=0;}

這里只是一個很簡單的例子,contextmenu事件支持所有 HTML 元素,這意味者你可以給不同的元素,自定義不同的右鍵菜單,由于contextmenu事件會冒泡傳播,子節點上觸發的事件,在父節點上也會觸發,所以應該調用對應的函數或者設置對應的屬性值來阻止事件冒泡。

根據事件對象來定位其實很復雜也很簡單,除了clientY和clientX,鼠標事件對象提供了一系列復雜的相關信息,諸如layerX,pageX等等,這些值并不直觀,還存在瀏覽器兼容問題,不過clientX和clientY,可以說是萬金油屬性。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 泰兴市热钻机械有限公司-热熔钻孔机-数控热熔钻-热熔钻孔攻牙一体机 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 防火窗_耐火窗_防火门厂家_防火卷帘门-重庆三乐门业有限公司 | 渣土车电机,太阳能跟踪器电机,蜗轮蜗杆减速电机厂家-淄博传强电机 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 焊接减速机箱体,减速机箱体加工-淄博博山泽坤机械厂 | 法钢特种钢材(上海)有限公司 - 耐磨钢板、高强度钢板销售加工 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 截齿|煤截齿|采煤机截齿|掘进机截齿|旋挖截齿-山东卓力截齿厂家报价 | 智慧消防-消防物联网系统云平台| 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司 | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 板框压滤机-隔膜压滤机-厢式压滤机生产厂家-禹州市君工机械设备有限公司 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 变压器配件,变压器吸湿器,武强县吉口变压器配件有限公司 | 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 全国国际化学校_国际高中招生_一站式升学择校服务-国际学校网 | 专业的新乡振动筛厂家-振动筛品质保障-环保振动筛价格—新乡市德科筛分机械有限公司 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 水压力传感器_数字压力传感器|佛山一众传感仪器有限公司|首页 | 粉丝机械,粉丝烘干机,粉丝生产线-招远市远东粉丝机械有限公司 | 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | 北京亦庄厂房出租_经开区产业园招商信息平台 | 月嫂_保姆_育婴_催乳_母婴护理_产后康复_养老护理-吉祥到家家政 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 分光色差仪,测色仪,反透射灯箱,爱色丽分光光度仪,美能达色差仪维修_苏州欣美和仪器有限公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 撕碎机_轮胎破碎机_粉碎机_回收生产线厂家_东莞华达机械有限公司 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 365文案网_全网创意文案句子素材站|