又是周末了,只是事实上这在国外应该算是一周的開始吧,无论怎么说,今天是在歇息,放松我紧绷的神经,放松我有些疲惫的精神,昨晚上要裂了般的头疼,仿佛全部的数据都在脑子字面飞舞旋转,伴着一阵阵的恶心,当时把媳妇儿给吓坏了,实在不知道科比是每天怎么看到那凌晨四点钟的太阳的,这体质没法说了,而有一点却是不得不说,这身体真的才是一切的根本,友情建议各位朋友还是好好锻炼身体,我也要好好锻炼身体。

回想这一周,项目组长的一句话给我非常大的触动,原话我记不得怎么说了,大抵意思是说:不论你会多少,你终究要用上了才是你的。事实上当时那句话在当时的情形来看应该是有些牵强,甚至说是不正确的,可是还是让我感慨不已。回想最初去找工作的时候,在简历上写上会什么什么,去面试问你懂什么什么,然后考这考那,可到了工作上却不一定就所实用上了,甚至有些当你用上的时候,你才发现你会的那些实际上还是没用,还要去学,这跟我最初的工作经历是不同的,那时就一片包区,在自己的片区想怎么折腾就怎么折腾,把问题攻克了就好,而这惯性的思维方式让我在进入这个行业这最初是痛苦不已,到这会却仿佛突然想明确了一样:做什么都要守规矩,而规矩的存在可能认为是束缚自己的发挥,可更大意义上却方便了项目的总体进度,由于规矩在那,一个项目组内都守着这个规范,在整合的时候也就简单的多了吧。

当然还明确了非常多,都是一家之言,就不在这现眼了,事实上假设是学校是让人学到了知识,那公司却是让人学会了使用方法,大概这就是学生时代的我们总在感慨学到的东西无用的原因了吧,毕竟内功几千年,没有招式的话都是假的吧。

絮絮叨叨说了非常多,言归真转,今天来记录下js来自己定义鼠标右键,相同先来分解下它的实现原理:

1、屏蔽右键默认事件;(一度我以为改动的就是默认事件)

2、对一个ul的隐藏;(这个我也曾迂腐的觉得值得这样操作的都是div,汗)

3、对鼠标点击右键做出的响应,显示隐藏的ul;

4、鼠标又一次点击后,ul又一次被隐藏

这样来看的话,我们须要做的事情是不是就简单了非常多,先上代码:

html部分

  1. <ul id="testRight" style="width: 100px;background-color: yellow;position: absolute;z-index: 100;">
  2. <li><a href="#">開始</a></li>
  3. <li><a href="#">暂停</a></li>
  4. <li><a href="#">拜拜</a></li>
  5. </ul>

javascript部分:

  1. window.onload=function(){
  2. var forRight=document.getElementById("testRight");//获取对象,如今太熟悉了
  3. forRight.style.display="none";
  4. var title=forRight.getElementsByTagName("li");
  5.  
  6. for(var i=0;i<title.length;i++){
  7. title[i].onmouseover=function(){
  8. this.classname="active";//事实上这里我们也能够调用其它事件吧
  9. };
  10. title[i].onmouseout=function(){//这里也是鼠标的两个事件吧
  11. this.classname="";
  12. };
  13. }
  14.  
  15. document.oncontextmenu=function(event){//这是实现的关键点
  16. var event=event||window.event;//这个都不是问题了吧
  17. forRight.style.display="block";
  18. forRight.style.left=event.clientX+"px";
  19. forRight.style.top=event.clientY+"px";//鼠标的坐标啊
  20. return false;//这里返回false就是为了屏蔽默认事件
  21. };
  22. document.onclick=function(){//就是为了更形象的模仿啊
  23. forRight.style.display="none";
  24. };
  25. };

先来看今天记录的最关键的地方:document.oncontextmenu这个事件返回false的话就是屏蔽默认事件,假设我们其它都不写,仅仅在这个事件里面写return,好像就以下这样

  1. document.oncontextmenu=function(){
  2. return false;
  3. }

这种话,再点击右键也不会出现不论什么响应了。然后返回来再看整个的事件应用,好像除了这个事件,其它的都是比較熟悉的事件了,可就是对事件的这种整合总是缺乏,关键还是思路是创意吧,只是先无论哪儿多了,先整吧,但求熟读三千首,不求写来仅仅问吟。扎马步,扎马步,扎马步.....

事实上最早我看“哈利波特”的时候,我就特别羡慕他喜欢他的魔力扫帚,每天去打理清洗,看书也在看关于扫帚的等等,就仿佛想起古时候的剑客,能够那么虔诚。我非常幸运,那么早就找到了自己愿意奋斗的事情,我愿带一颗朝圣的心,前进....

js实现自己定义鼠标右键-------Day45的更多相关文章

  1. js鼠标右键操作

    一个页面中,BODY中用oncontextmenu='return false'来取消鼠标右键: 在JS中设置oncontextmenu='return true'用window.document. ...

  2. 屏蔽鼠标右键功能JS

    <script language="Javascript">     function hiderightKey(){    return false; } docum ...

  3. HTML,JS禁止鼠标右键、禁止全选、复制、粘贴的方法

    禁止鼠标右键.禁止全选.复制.粘贴: oncontextmenu事件禁用右键菜单: js代码: document.oncontextmenu = function(){ event.returnVal ...

  4. js的鼠标右键简单菜单

    实现点击鼠标右键时出来菜单代码如下: 主要运用oncontextmenu事件,oncontextmenu 事件在元素中用户右击鼠标时触发并打开上下文菜单. <!DOCTYPE html> ...

  5. JS 禁用鼠标右键

    oncontextmenu="window.event.returnValue=false" style="overflow-y: hidden; overflow-x: ...

  6. 转:js小技巧 ,将彻底屏蔽鼠标右键,可用于Table ,取消选取、防止复制,IE地址栏前换成自己的图标

    1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键<table border oncontextmenu= ...

  7. js自定义鼠标右键菜单

    document.oncontextmenu = function(e) { return false; } document.onmousedown = function(e) { switch(e ...

  8. 禁止按键F5和禁止鼠标右键菜单 js代码

    <script language="javascript"> //禁止按键F5 document.onkeydown = function(e){ e = window ...

  9. JS屏蔽鼠标右键

    //方法1: function stop() {    return false;}document.oncontextmenu = stop;//方法2: window.document.oncon ...

随机推荐

  1. java transient简介

    我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable ...

  2. [Everyday Mathematics]20150121

    设 $f\in C[0,1]$ 适合 $$\bex xf(y)+yf(x)\leq 1,\quad\forall\ x,y\in [0,1]. \eex$$ 试证: $$\bex \int_0^1 f ...

  3. AutoLayout UITableViewCell 动态高度

    从这里http://www.cnblogs.com/liandwufan/p/4516956.html?utm_source=tuicool 转载过来的 -(UITableViewCell*)tabl ...

  4. 如何设置适当的ramp-up period值

    如何设置适当的值并不轻易. 首先,假如要使用大量线程的话,ramp-up period 一般不要设置成零. 因为假如设置成零,Jmeter将会在测试的开始就建立全部线程并立即发送访问请求, 这样一来就 ...

  5. node.js study: cluster

    从v0.6.x开始,Node.js提供了多进程模块cluster,允许创建一组进程来共享同一个socket,并且分担负载压力.官方文档是这样说的:A single instance of Node.j ...

  6. Tableau学习笔记之三

    1.Tableau可以连接多种多样的数据以及数据库,例如txt,xls,mdb,sql server,oracle等等 2.Tableau还可以从剪贴板上粘贴数据 3.维度和度量的理解: 1)维度即表 ...

  7. duilib中控件拖拽功能的实现方法(附源码)

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41144283 duilib库中原本没有显示的对控件增加拖拽的功能,而实际 ...

  8. D3D11_USAGE使用

    MSDN文档链接:http://msdn.microsoft.com/en-us/library/windows/desktop/ff476259(v=vs.85).aspx 不得不同吐槽一点的是,你 ...

  9. [NOI2001]反正切函数的应用

    Time Limit:1000ms Memory Limit:65536kB Description 反正切函数可展开成无穷级数,有如下公式 (其中0 <= x <= 1) 公式(1) 使 ...

  10. 踩刹车——regularization

    从一个问题说起: 当我们使用H10去拟合曲线的时候,其实我们只想要H2的结果.如果从H10变回到H2呢? 所以我们只需要添加上限制条件:w3=...=w10=0即可.现在呢,我们可以放宽一点条件:任意 ...