2016年5月27日下午(妙味课堂js基础-3笔记三(事件))
2016-05-27 19:39
591 查看
一、默认行为
1. 什么是事件的默认行为(默认事件)(1)浏览器不需要我们去编写,浏览器自身就已经具备的功能;(点击右键弹出页面菜单)
(2)如何阻止默认行为
2. 上下文菜单:oncontextmenu(右键菜单)
<script type="text/javascript"> document.oncontextmenu=function () { alert("a") }; </script>
点击右键就会弹出a,且会出现右键菜单;
<script type="text/javascript"> document.oncontextmenu=function () { return false; }; </script>
已经阻止了右键菜单,点击无法弹出。
再来看一下一个阻止表单提交的实例:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript"> window.onload=function () { var oForm=document.getElementById('form1'); oForm.onsubmit=function () { return false; }; }; </script> </head> <body> <form id="form1" action="http://www.miaov.com/"> <input type="submit" /> </form> </body>
无论怎么点击提交按钮都无法提交网址。这里就有关于表单校验了。
3. 文本框内禁止输入内容实例(阻止onkeydown)
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript"> window.onload=function () { var oTxt=document.getElementById('txt1'); oTxt.onkeydown=function () { return false; }; }; </script> </head> <body> <input id="txt1" type="text" /> </body>
这个实例在输入框中间无法输入字母,但是可以输入汉字(why?)
4. 自定义右键菜单实例
<head> <style type="text/css"> * {margin:0; padding:0;} #ul1 {width:100px; background:#CCC; border:1px solid black; position:absolute; display:none;} </style> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript"> document.oncontextmenu=function (ev) { var oEvent=ev||event; var oUl=document.getElementById('ul1'); oUl.style.display='block'; oUl.style.left=oEvent.clientX+'px'; oUl.style.top=oEvent.clientY+'px'; return false; //让系统的右键菜单消失 }; document.onclick=function () { var oUl=document.getElementById('ul1'); oUl.style.display='none'; //点击页面就消失; }; </script> </head> <body> <ul id="ul1"> <li>登陆</li> <li>回到首页</li> <li>注销</li> <li>加入VIP</li> </ul> </body>
5. 只能输入数字的输入框实例:onkeydown、onkeyup
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript"> window.onload=function () { var oTxt=document.getElementById('txt1'); oTxt.onkeydown=function (ev) { var oEvent=ev||event; if(oEvent.keyCode!=8 && (oEvent.keyCode<48 || oEvent.keyCode>57)) { return false; } }; }; </script> </head> <body> <input id="txt1" type="text" /> </body>
二、拖拽
6. 拖拽实例:拖拽原理、三个事件、document范围、解决FF的bug7. 限制拖拽范围的条件:document.documentElement.clientWidth
相关文章推荐
- net.sf.json.JSONException: Found starting '{' but missing '}' at the end. at character 0 of null
- JS判断浏览器
- 修改jsonb的属性
- js动画 从一个位置渐渐移动到另外一个位置 通用
- 根据对象的某一属性进行排序的js代码(如:name,age)
- Jsp之一 WEB应用程序概述
- Jsp之一 WEB应用程序概述
- Jsp之一 WEB应用程序概述
- JSONP伪同步请求及如何使用GBK 进行encodeURIComponet 编码
- [RxJS] Transformation operators: delay and delayWhen
- 文章标题
- js一键复制,Clipboard.js:不用Flash实现剪贴板功能的轻量级JavaScript库
- javascript 面向对象基础(三)面向对象的常用属性和方法
- js犀牛书
- irda-objs和irda-obj的差别,烧写一个字母的悲剧
- JavaScript获取URL参数
- JavaScript笔记(3)关于重复的定义和遗漏的定义
- JSP生命周期 ,Servlet生命周期
- DOM设置表格隔行变色js代码及鼠标悬停在哪行,哪行字体就加粗效果
- 编写高质量的 JavaScript 代码(一)