js实现自己定义鼠标右键-------Day45
又是周末了,只是事实上这在国外应该算是一周的開始吧,无论怎么说,今天是在歇息,放松我紧绷的神经,放松我有些疲惫的精神,昨晚上要裂了般的头疼,仿佛全部的数据都在脑子字面飞舞旋转,伴着一阵阵的恶心,当时把媳妇儿给吓坏了,实在不知道科比是每天怎么看到那凌晨四点钟的太阳的,这体质没法说了,而有一点却是不得不说,这身体真的才是一切的根本,友情建议各位朋友还是好好锻炼身体,我也要好好锻炼身体。
回想这一周,项目组长的一句话给我非常大的触动,原话我记不得怎么说了,大抵意思是说:不论你会多少,你终究要用上了才是你的。事实上当时那句话在当时的情形来看应该是有些牵强,甚至说是不正确的,可是还是让我感慨不已。回想最初去找工作的时候,在简历上写上会什么什么,去面试问你懂什么什么,然后考这考那,可到了工作上却不一定就所实用上了,甚至有些当你用上的时候,你才发现你会的那些实际上还是没用,还要去学,这跟我最初的工作经历是不同的,那时就一片包区,在自己的片区想怎么折腾就怎么折腾,把问题攻克了就好,而这惯性的思维方式让我在进入这个行业这最初是痛苦不已,到这会却仿佛突然想明确了一样:做什么都要守规矩,而规矩的存在可能认为是束缚自己的发挥,可更大意义上却方便了项目的总体进度,由于规矩在那,一个项目组内都守着这个规范,在整合的时候也就简单的多了吧。
当然还明确了非常多,都是一家之言,就不在这现眼了,事实上假设是学校是让人学到了知识,那公司却是让人学会了使用方法,大概这就是学生时代的我们总在感慨学到的东西无用的原因了吧,毕竟内功几千年,没有招式的话都是假的吧。
絮絮叨叨说了非常多,言归真转,今天来记录下js来自己定义鼠标右键,相同先来分解下它的实现原理:
1、屏蔽右键默认事件;(一度我以为改动的就是默认事件)
2、对一个ul的隐藏;(这个我也曾迂腐的觉得值得这样操作的都是div,汗)
3、对鼠标点击右键做出的响应,显示隐藏的ul;
4、鼠标又一次点击后,ul又一次被隐藏
这样来看的话,我们须要做的事情是不是就简单了非常多,先上代码:
html部分
<ul id="testRight" style="width: 100px;background-color: yellow;position: absolute;z-index: 100;">
<li><a href="#">開始</a></li>
<li><a href="#">暂停</a></li>
<li><a href="#">拜拜</a></li>
</ul>
javascript部分:
window.onload=function(){
var forRight=document.getElementById("testRight");//获取对象,如今太熟悉了
forRight.style.display="none";
var title=forRight.getElementsByTagName("li"); for(var i=0;i<title.length;i++){
title[i].onmouseover=function(){
this.classname="active";//事实上这里我们也能够调用其它事件吧
};
title[i].onmouseout=function(){//这里也是鼠标的两个事件吧
this.classname="";
};
} document.oncontextmenu=function(event){//这是实现的关键点
var event=event||window.event;//这个都不是问题了吧
forRight.style.display="block";
forRight.style.left=event.clientX+"px";
forRight.style.top=event.clientY+"px";//鼠标的坐标啊
return false;//这里返回false就是为了屏蔽默认事件
};
document.onclick=function(){//就是为了更形象的模仿啊
forRight.style.display="none";
};
};
先来看今天记录的最关键的地方:document.oncontextmenu这个事件返回false的话就是屏蔽默认事件,假设我们其它都不写,仅仅在这个事件里面写return,好像就以下这样
document.oncontextmenu=function(){
return false;
}
这种话,再点击右键也不会出现不论什么响应了。然后返回来再看整个的事件应用,好像除了这个事件,其它的都是比較熟悉的事件了,可就是对事件的这种整合总是缺乏,关键还是思路是创意吧,只是先无论哪儿多了,先整吧,但求熟读三千首,不求写来仅仅问吟。扎马步,扎马步,扎马步.....
事实上最早我看“哈利波特”的时候,我就特别羡慕他喜欢他的魔力扫帚,每天去打理清洗,看书也在看关于扫帚的等等,就仿佛想起古时候的剑客,能够那么虔诚。我非常幸运,那么早就找到了自己愿意奋斗的事情,我愿带一颗朝圣的心,前进....
js实现自己定义鼠标右键-------Day45的更多相关文章
- js鼠标右键操作
一个页面中,BODY中用oncontextmenu='return false'来取消鼠标右键: 在JS中设置oncontextmenu='return true'用window.document. ...
- 屏蔽鼠标右键功能JS
<script language="Javascript"> function hiderightKey(){ return false; } docum ...
- HTML,JS禁止鼠标右键、禁止全选、复制、粘贴的方法
禁止鼠标右键.禁止全选.复制.粘贴: oncontextmenu事件禁用右键菜单: js代码: document.oncontextmenu = function(){ event.returnVal ...
- js的鼠标右键简单菜单
实现点击鼠标右键时出来菜单代码如下: 主要运用oncontextmenu事件,oncontextmenu 事件在元素中用户右击鼠标时触发并打开上下文菜单. <!DOCTYPE html> ...
- JS 禁用鼠标右键
oncontextmenu="window.event.returnValue=false" style="overflow-y: hidden; overflow-x: ...
- 转:js小技巧 ,将彻底屏蔽鼠标右键,可用于Table ,取消选取、防止复制,IE地址栏前换成自己的图标
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键<table border oncontextmenu= ...
- js自定义鼠标右键菜单
document.oncontextmenu = function(e) { return false; } document.onmousedown = function(e) { switch(e ...
- 禁止按键F5和禁止鼠标右键菜单 js代码
<script language="javascript"> //禁止按键F5 document.onkeydown = function(e){ e = window ...
- JS屏蔽鼠标右键
//方法1: function stop() { return false;}document.oncontextmenu = stop;//方法2: window.document.oncon ...
随机推荐
- matlab 学习
http://blog.sina.com.cn/s/blog_7086379501012pc5.html <a href = "http://blog.sina.com.cn/s/bl ...
- HDU 5730 Shell Necklace cdq分治+FFT
题意:一段长为 i 的项链有 a[i] 种装饰方式,问长度为n的相连共有多少种装饰方式 分析:采用dp做法,dp[i]=∑dp[j]*a[i-j]+a[i],(1<=j<=i-1) 然后对 ...
- IOS color 颜色值比较
/生成采样对照颜色(黑色) UIColor* sampleColor = [UIColor colorWithRed:(0/255.0f) green:(0/255.0f) blue:(0/255. ...
- JavaScript相关图书推荐
JavaScript语言精粹(修订版) 作 者 Douglas Crockford(道格拉斯·克罗克福德) 著:赵泽欣 等 译 出 版 社 电子工业出版社 出版时间 2012-09-01 版 ...
- URAL-1982 Electrification Plan 最小生成树
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1982 题意:无向图,给n个点,n^2条边,每条边有个一权值,其中有k个点有发电站,给出这 ...
- C++单例模板
#pragma once namespace MyGame { template<typename T> class Global { public: static void Create ...
- 第二百九十五天 how can i 坚持
买了个小米电话卡,写的让周六日送,非得今天给送来,浪费了1块钱.买回来还没法激活,这.. 昨天差点挂掉,今天感觉好多了,不过今天好冷,回来快冻死了. 今天啊,年终奖订下来了,没有想象的高 啊,有点小失 ...
- vector 之 find 重载
众所周知,map有find,但vector的find只能调用algorithm中的find通用方法. 参考<How to find an item in a std::vector?> 对 ...
- thymeleaf中的th:each用法
一.th:eath迭代集合用法: <table> <thead> <tr> <th>序号</th> <th>用户名</th ...
- hdu 1443 Joseph (约瑟夫环)
Joseph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...