一、一些概念:
1、鼠标事件有一个botton属性:返回一个整数,用于表示点击的是哪个鼠标按键。
BUG:在IE和标准DOM的鼠标事件中,唯一一个button属性值相同的是“单击右键”事件,都返回2。
2、事件onmousedown:表示鼠标按键按下的动作。
事件oncontextmenu:点击鼠标触发的另一个事件。
3、中断默认事件处理函数的方法:IE中设置returnValue=false; 标准DOM中调用preventDefault()方法。
4、事件对象:①在IE中,事件对象是window对象的一个event属性。
②在标准DOM中,事件对象是事件处理函数的唯一参数。
二、实现:
HTML:
复制代码 代码如下:
<p id="p1">Uncle Cat is a fat white cat !</p>
<div id="d1">
<a>剪切</a>
<a>复制</a>
<a>粘贴</a>
</div>
javascript:
复制代码 代码如下:
window.onload=function(){
rightmenu('p1','d1');
}
/****
* 封装右键菜单函数:
* elementID 要自定义右键菜单的 元素的id
* menuID 要显示的右键菜单DIv的 id
*/
function rightmenu(elementID,menuID){
var menu=document.getElementById(menuID); //获取菜单对象
var element=document.getElementById(elementID);//获取点击拥有自定义右键的 元素
element.onmousedown=function(aevent){ //设置该元素的 按下鼠标右键右键的 处理函数
if(window.event)aevent=window.event; //解决兼容性
if(aevent.button==2){ //当事件属性button的值为2时,表用户按下了右键
document.oncontextmenu=function(aevent){
if(window.event){
aevent=window.event;
aevent.returnValue=false; //对IE 中断 默认点击右键事件处理函数
}else{
aevent.preventDefault(); //对标准DOM 中断 默认点击右键事件处理函数
};
};
menu.style.cssText='display:block;top:'+aevent.clientY+'px;'+'left:'+aevent.clientX+'px;'
//将菜单相对 鼠标定位
}
}
menu.onmouseout=function(){ //设置 鼠标移出菜单时 隐藏菜单
setTimeout(function(){menu.style.display="none";},400);
}
}
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】
- 李恕权.2003-回·20年全精选2CD【SONY】【WAV+CUE】