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 ...
随机推荐
- [Everyday Mathematics]20150208
对 $f\in C^2(\bbR)$ 适合 $$\bex \vlm{|x|}f(x)=0, \eex$$ 试证: $$\bex \int_{\bbR} |f'|^p\rd x \leq (p-1)^\ ...
- WIND2003 安装Zend studio 报错
在安装zend stutio是系统报错,貌似是签章检验没有通过,去查了一下网上的解决方式多种多样,经过验证后发现以下可以解决我的问题特做记录 机器配置是E2160+4G 异常信息是:File c:\W ...
- HDU 4539 郑厂长系列故事——排兵布阵
http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Others) ...
- 《Python 学习手册4th》 第十三章 while和for循环
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...
- Ubuntu下安装JDK图文详解
很详细的在Ubuntu中安装JDK图文详解教程,我们选择的是jdk1.6.0_30版本.安装文件名为jdk-6u30-linux-i586.bin. 1.复制jdk到安装目录 (1)假设jdk安装文件 ...
- cocos2d-x 添加背景音乐和音效-SimpleAudioEngine
首先,要想使用音效,需要启用音效引擎库CocosDenshion中的SimpleAudioEngine类, #include "SimpleAudioEngine.h" Cocos ...
- [LeetCode] Remove Element 分析
Remove Element算是LeetCode的一道水题,不过这题也有多种做法,现就我所知的几种做一点讨论. 题目链接:https://leetcode.com/problems/remove-el ...
- CentOS7 mariadb 修改编码
CentOS7 mariadb 编码的修改: 网上看了不少的解决方案,要么是比较老的,要么是不正确,测试成功的方式,记录备查. 登录MySQL,使用SHOW VARIABLES LIKE 'chara ...
- oc_转_构造对象的方法,以及类的继承
一.构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情: 1) 使用alloc方法来分配存储空间 ...
- 通过request读取所有参数
获取request里的所有参数及参数名(参数名自动获取) - [ Java ] request里有两个方法: 1)request.getParameterMap(); Enumeration en ...