JavaScript中对事件简单的理解(2)

事件(event)

event对象

(1)什么是event对象?

  Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。事件通常与函数结合使用,函数不会在事件发生前被执行!

(2)Event相关方法与属性

  1、谷歌 event.stopPropagation()、IE event.CancelBubble=true:终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点

  2、谷歌 event.preventDefault()、IE event.returnvalue=false :取消事件的默认动作(a标签的href)。

  3、event.clientX、event.clientY:鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性

  4、event.offsetX、event.offsetY:鼠标相对于事件源元素(触发事件的元素)的X,Y坐标,只有IE事件有这2个属性,标准事件没有对应的属性。 与event.offsetLeft、event.offsettop一样。

  5、event.screenX、event.screenY:鼠标相对于用户显示器屏幕左上角的X,Y坐标。标准事件和IE事件都定义了这2个属性。

  6、event.keyCode:获得按键的code值。例:我们在程序里是怎么知道我们是按得哪个键呢,我们可以通过keyCode获得,程序员早在一开始就把键盘上的每一个键定义了一个code,在程序里我们可以判断值来知道我们点击了哪个键。

1.鼠标事件,页面所有元素都可触发

click:当用户单击鼠标按钮或按下回车键时触发。

input.onclick = function () {

  alert(‘Lee‘);

};

dblclick:当用户双击主鼠标按钮时触发。

input.ondblclick = function () {

  alert(‘Lee‘);

};

mousedown:当用户按下了鼠标还未弹起时触发。

input.onmousedown = function () {

  alert(‘Lee‘);

};

mouseup:当用户释放鼠标按钮时触发。

input.onmouseup = function () {

  alert(‘Lee‘);

};

mouseover(mouseenter 这种方法不冒泡):当鼠标移到某个元素上方时触发。

input.onmouseover = function () {

  alert(‘Lee‘);

};

mouseout(mouseleaver 这种方法不冒泡):当鼠标移出某个元素上方时触发。

input.onmouseout = function () {

  alert(‘Lee‘);

};

mousemove:当鼠标指针在元素上移动时触发。

input.onmousemove = function () {

  alert(‘Lee‘);

};

2.键盘事件

keydown:当用户按下键盘上任意键触发,如果按住不放,会重复触发。

onkeydown = function () {

  alert(‘Lee‘);

};

keypress:当用户按下键盘上的字符键触发,如果按住不放,会重复触发。

onkeypress = function () {

  alert(‘Lee‘);

};

keyup:当用户释放键盘上的键触发。

onkeyup = function () {

  alert(‘Lee‘);

};

3.HTML事件

load:当页面完全加载后在window上面触发,或当框架集加载完毕后在框架集上触发。

window.onload = function () {

  alert(‘Lee‘);

};

unload:当页面完全卸载后在window上面触发,或当框架集卸载后在框架集上触发。

window.onunload = function () {

  alert(‘Lee‘);

};

select:当用户选择文本框(input或textarea)中的一个或多个字符触发。

input.onselect = function () {

  alert(‘Lee‘);

};

change:当文本框(input或textarea)内容改变且失去焦点后触发。

input.onchange = function () {

  alert(‘Lee‘);

};

focus:当页面或者元素获得焦点时在window及相关元素上面触发。

input.onfocus = function () {

  alert(‘Lee‘);

};

blur:当页面或元素失去焦点时在window及相关元素上触发。

input.onblur = function () {

  alert(‘Lee‘);

};

submit:当用户点击提交按钮在<form>元素上触发。

form.onsubmit = function () {

  alert(‘Lee‘);

};

reset:当用户点击重置按钮在<form>元素上触发。

form.onreset= function () {

  alert(‘Lee‘);

};

resize:当窗口或框架的大小变化时在window或框架上触发。

window.onresize = function () {

  alert(‘Lee‘);

};

scroll:当用户滚动带滚动条的元素时触发。

window.onscroll = function () {

  alert(‘Lee‘);

};

时间: 2024-10-13 06:30:55

JavaScript中对事件简单的理解(2)的相关文章

JavaScript中对事件简单的理解

事件(event) 1.什么是JavaScript事件? 事件是文档或浏览器中发生的特定交互瞬间. 2.事件流 事件流描述的是从页面中接受事件的顺序,包含IE提出的事件冒泡流与Netscape提出的事件捕获流.浏览器默认的是事件冒泡流. 两种思想: IE的事件流叫做事件冒泡,即事件开始时由最具体的元素接受,然后逐级向上传播到较为不具体的节点.  Netscape团队提出的另一种事件流叫做事件捕获.事件捕获的思想是不太具体的DOM节点应该更早接收到事件,而最具体的节点应该最后接收到事件. 3.事件

深入理解javascript中的事件循环event-loop

前面的话 本文将详细介绍javascript中的事件循环event-loop 线程 javascript是单线程的语言,也就是说,同一个时间只能做一件事.而这个单线程的特性,与它的用途有关,作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM.这决定了它只能是单线程,否则会带来很复杂的同步问题.比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准? 为了利用多核CPU的计算能力,HTML

了解javascript中的事件(二)

零.寒暄 这篇博客本该出现在两个月以前,但是种种原因,搁浅了.两个月的时间,改变了许多人也改变了许多事,回头看看自己两个月前写的代码,居然有很多可笑之处,这也算是一种成长吧.实习的几个月里,全身心的投入工作,效率奇高,同时,离开学校的这段日子让我充分感受了这个社会的残酷.好酒需陈酿,来的早不如来的巧,今天跟大家分享下javascript中事件的下半部分. 如需查看本文的上一篇,请猛击了解javascript中的事件(一),注:后文如无特殊说明,提到的参考之前的博客,也是指这篇文章. 本文主要谈一

javascript中的事件

在javascript中的事件有三个方面的知识,一是事件流,二是事件处理程序,三是事件对象.下面就我个人的一点理解,分别讲述一下这三个方面的内容. 第一.事件流 事件流指的是事件按照一定的顺序触发.它有两个顺序,分别是自上而下和自下而上. 自上而下的叫做事件捕获,事件捕获指的是事件的处理将从DOM层次的根开始,而不是从触发事件的目标元素开始,事件被从目标元素的所有祖先元素依次往下传递.在这个过程中,事件会被从文档根到事件目标元素之间各个继承派生的元素所捕获,如果事件监听器在被注册时设置了useC

了解javascript中的事件(一)

零.寒暄 由于刚入职,近期事情繁多,今天好不容易中期答辩完事,晚上有一些时间,来给大家分享一篇博文. 这段时间每天写js接触事件比较多,自己会使用,但是用的时候比较混乱,现在系统的整理下,好了,闲话不多说,谈正事! 一.事件概念 什么是事件?说白了,事件是文档或浏览器中发生的特定交互瞬间!比如鼠标点击,滑过等等. 二.事件流 事件流就是描述了页面中接受事件的顺序.在浏览器发展的初期,两大浏览器厂商IE和Netscape互掐,出现了一个坑爹的情况,那就是他们对事件流的解释出现了两中截然相反的定义.

JavaScript中的事件对象

JavaScript中的事件对象 JavaScript中的事件对象是非常重要的,恐怕是我们在项目中使用的最多的了.在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有关的信息.下面将会讲到DOM中的事件对象.IE中的事件对象以及跨浏览器的事件对象三个部分. 对于事件处理程序,大家可以看我的博文<JavaScript中的五种事件处理程序>. 第一部分:DOM事件对象 兼容DOM的浏览器会将一个event对象传入到事件处理程序中,无论是HMTL特性.DOM0级还是

javaScript中的事件三

javaScript中的事件三 先看两种错误的写法,他们的目的都是:添加两个事件: 错误方式一: window.onload=function (){ alert('event 1'); } window.onload=function (){ alert('event 2') } 错误方式二: window.onload=function (){ var obj=document.getElementById("but"); obj.onclick=function(){ alert

javascript中奇怪事件

javascript中奇怪事件 为啥叫奇怪事件了,应该是我目前掌握的知识暂时不能解释这种现象滴呀(也许可以用事件流的概念来解释滴呀) 看布局: #hideInfo{ height:100px; width:100px; background:green; position:absolute; top:20px; left:-90px; } #hideInfo span{ height:100px; width:100px; background:blue; position:absolute;

JavaScript 进阶教程一 JavaScript 中的事件流 - 事件冒泡和事件捕获

先看下面的示例代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JavaScript 中的事件冒泡与事件捕获</title> </head> <body> <div id="Red" style="width:200px;height:200px;background-color:red;padding:2