javascript 事件对象
1.事件对象
用来记录一些事件发生时的相关信息的对象
A.只有当事件发生的时候才产生,只能在处理函数内部访问
B.处理函数运行结束后自动销毁
2.如何获取事件对象
IE: window.event
FF: 对象.on事件 = function(e)
通用法
var ev = e || window.event
3.事件对象的属性
A.关于鼠标事件的事件对象
相对浏览器位置
clientX/clientY 当鼠标事件发生时,鼠标相对于浏览器的位置
B.相对于屏幕位置的
screenX/screenY 当鼠标事件发生时,鼠标相对于屏幕的位置
C.相对于事件源的位置
IE:
offsetX/offsetY 当鼠标事件发生的时候,鼠标相对于事件源的位置
FF:
layerX/layerY 当鼠标发生时,鼠标相对于事件源的位置
4.键盘事件的事件对象
keyCode // 获取键盘码 空格:32 左上右下键码:37/38/39/40
altKey/ctrlKey/shiftKey 判断相应的键是否是按下,true/false
type // 用来检测事件的类型
例子:
<script>
window.onload = function(){
var but = document.getElementById("but");
var divs = null;
but.onclick = function(){
if(divs != null){
return;
}
divs = document.createElement("div");
divs.style.width="300px";
divs.style.height= "150px";
divs.style.border = "4px solid red";
divs.style.position = "absolute";
var a = document.createElement("a");
a.innerHTML = "X";
a.style.styleFloat = "right";
a.style.cursor = "pointer";
divs.appendChild(a);
document.body.appendChild(divs);
a.onclick = function(){
document.body.removeChild(divs);
divs = null;
}
divs.onmousedown = function(e){
var ok = true;
var ev = e || window.event;
var ox = ev.offsetX || ev.layerX;
var oy = ev.offsetY || ev.layerY;
this.onmousemove = function(ee){
if(!ok){
return;
}
var eev = ee || window.event;
var cx = eev.clientX;
var cy = eev.clientY;
this.style.left = cx-ox+"px";
this.style.top = cy-oy+"px";
}
this.onmouseup = function(){
if(ok){
ok = false;
}
}
}
}
}
</script>
javascript 事件对象的更多相关文章
- 第一百二十节,JavaScript事件对象
JavaScript事件对象 学习要点: 1.事件对象 2.鼠标事件 3.键盘事件 4.W3C与IE JavaScript事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功 ...
- JavaScript事件对象与事件处理程序
在学习之前建议请看一下事件流.事件冒泡.事件捕获 一.事件对象 事件对象:在DOM触发事件时,会产生一个事件对象event,这个事件对象包含着所有与事件相关的信息.既然event是事件对象,那么它必然 ...
- JavaScript事件对象
一. 事件对象 事件处理三部分组成:对象.事件处理函数=函数.例如:单击文档任意处. 1.鼠标按钮 非 IE(W3C)中的 button 属性 0 表示主鼠标按钮(常规一般是鼠标左键) 1 表示中间的 ...
- JavaScript事件对象【转】
一. 事件对象 事件处理三部分组成:对象.事件处理函数=函数.例如:单击文档任意处. 1.鼠标按钮 非 IE(W3C)中的 button 属性 0 表示主鼠标按钮(常规一般是鼠标左键) 1 表示中间的 ...
- Javascript 事件对象(二)event事件
Event事件: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" ...
- JavaScript事件对象与事件的委托
事件对象 包含事件相关的信息,如鼠标.时间.触发的DOM对象等 js默认将事件对象封装好,并自动的以参数的形式,传递给事件处理函数的第1个参数,如下: document.getElementsByTa ...
- JavaScript 事件对象event
什么是事件对象? 比如当用户单击某个元素的时候,我们给这个元素注册的事件就会触发,该事件的本质就是一个函数,而该函数的形参接收一个event对象. 注:事件通常与函数结合使用,函数不会在事件发生前被执 ...
- JavaScript事件对象属性e.target和this的区别
前言: Event对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 事件发生后,跟事件相关的一系列信息数据的集合都放到这个对象里面,这个对象就是事件对象eve ...
- Javascript 事件对象进阶(二)拖拽的应用 - 登录框的拖拽
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
随机推荐
- CSS3最简洁的轮播图
<!DOCTYPE html> <html> <head> <title>CSS3最简洁的轮播图</title> <style> ...
- 大数据与可靠性会碰撞出什么样的Spark?
可靠性工程领域的可靠性评估,可靠性仿真计算,健康检测与预管理(PHM)技术,可靠性试验,都需要大规模数据来进行支撑才能产生好的效果,以往这些数据都是不全并且收集困难,而随着互联网+的大数据时代的来临, ...
- C#中异步和多线程的区别
C#中异步和多线程的区别是什么呢?异步和多线程两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性.甚至有些时候我们就认为异步和多线程是等同的概念.但是,异步和多线程还是有一些区别的.而这些区 ...
- IOS开发之TableView替换默认的checkmark为自定义图像
直接上代码: On cellForRowAtIndexPath: UIButton*button =[UIButton buttonWithType:UIButtonTypeCustom];CGRec ...
- GROUP BY,WHERE,HAVING之间的差别和使用方法
having子句与where有类似之处但也有差别,都是设定条件的语句.在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先运行.而where子句在查询过程中运行优 ...
- Android AlertDialog 设置setSingleChoiceItems不显示列表的原因【setMessage和setSingleChoiceItems不能同时使用】
今日写了个如题目的简单功能,结果列表不显示 无奈重写了一次代码发现setMessage和setSingleChoiceItems不能同时使用. 正确的如下: private void mobilePh ...
- Android和Java的轻巧Wire协议缓冲器
Wire协议缓冲器 一个人必须有一个代码! -奥马尔小 由于我们的团队和项目增长,数据的种类和数量也随之增加. 成功将您简单的数据模型转换为复杂的! 无论您的应用程序将数据存储到磁盘或网络传送信号,该 ...
- 深入理解计算机系统第二版习题解答CSAPP 2.6
使用打印字节的方式可以知道十进制数12345的十六进制为0x00003039,十进制浮点数12345.0的十六进制为0x4640E400. 转换为二进制为 /* 0 0 0 0 3 0 3 9 *** ...
- 深入理解计算机系统第二版习题解答CSAPP 2.2
填写空白项. n 2n(十进制) 2n(十六进制) 9 512 0x200 19 0x80000 16384 0x4000 0x10000 17 0x20000 32 0x20 0x80
- Spring MVC中如何传递对象参数
springController: @Controller @RequestMapping("/user") public UserController extends BaseC ...