JavaScript事件对象与事件的委托
事件对象
包含事件相关的信息,如鼠标、时间、触发的DOM对象等
js默认将事件对象封装好,并自动的以参数的形式,传递给事件处理函数的第1个参数,如下:
document.getElementsByTagName("div")[0].onclick = function(e){
e = window.event || e; //兼容IE低版本(事件对象绑定在window的event上)
console.log(e);//这里e就是事件对象
}
事件的属性和方法
type:获取事件类型(click、mouseover等等)
target:获取发生的所在元素(在低版本IE下用srcElement属性)
stopPropagation() 阻止事件冒泡(IE用cancelBubble属性为false阻止冒泡)
preventDefault() 阻止事件默认行为(IE用returnValue属性为false阻止默认行为)
事件委托
利用target属性,获取时间发生的所在对象,避免全体子元素加事件,对比如下:
var tbs=document.getElementsByTagName("td");
for(var i=0;i<tbs.length;i++){//循环给每个子元素添加事件
tbs[i].onclick=function(){
this.style.background="red";
}
}
document.getElementsByTagName("table")[0].onclick=function(e){
e.target.style.background="red";//只绑定父元素事件,用target获取子元素
}
JavaScript事件对象与事件的委托的更多相关文章
- JS事件对象与事件委托
事件对象 包含事件相关的信息,如鼠标.时间.触发的DOM对象等 js默认将事件对象封装好,并自动的以参数的形式,传递给事件处理函数的第1个参数,如下: document.getElementsByTa ...
- js跨浏览器事件对象、事件处理程序
项目中有时候会不用jquery这么好用的框架,需要自己封装一些事件对象和事件处理程序,像封装AJAX那样:这里面考虑最多的还是浏览器的兼容问题,原生js封装如下:var EventUtil={ //节 ...
- 【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器
一.打印控件 第一步先把打印对象搞出来. - printDocument 打印对象(将要打印的内容放到该对象里,从该对象里取内容打印) 设置他的PrintPage事件(对于要打印的每一页触发一次 ...
- JS事件流、事件监听、事件对象、事件委托
JS事件流: 01.DOM级别和DOM事件 02.JS事件流:页面中接收事件的顺序 事件冒泡阶段-->处于目标阶段-->事件捕获阶段 (事件捕获总发生在事件冒泡前面) 03.捕获:从外向里 ...
- JavaScript事件对象与事件处理程序
在学习之前建议请看一下事件流.事件冒泡.事件捕获 一.事件对象 事件对象:在DOM触发事件时,会产生一个事件对象event,这个事件对象包含着所有与事件相关的信息.既然event是事件对象,那么它必然 ...
- JavaScript的事件概述以及事件对象,事件流
事件处理程序 JavaScript 事件对象是由访问 Web 页面的用户引起的一系列操作,例如:用户点击页面上的某个按钮或者鼠标移动到页面的某个图片上而产生一系列的互动的反馈. 我们通过为指定事件绑定 ...
- Javascript中的事件对象和事件类型
接上次看JS的事件冒泡和捕获,所以顺带就把事件相关的知识都看完好了 而且想到一个好的学习方法,第一天自己看,第二天把前一天学习的东西写下来,一方面可以当复习,一方面当重新整理并且分享 事件对象 事件处 ...
- DOM事件处理程序-事件对象-键盘事件
事件流: 事件流--描述的是从页面中接受事件的顺序 IE ---事件冒泡流:即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播至最不具体的那个节点(文档). Netsc ...
- JS 事件对象和事件冒泡
1.事件对象 js的事件对象中保存了当前被触发事件的一些相关的属性信息,如事件源.事件发生时的鼠标位置.事件按键等. 事件对象的获取方法: IE中可以window.event直接获取,而Firefox ...
随机推荐
- Tree and Queries CodeForces - 375D 树上莫队
http://codeforces.com/problemset/problem/375/D 树莫队就是把树用dfs序变成线性的数组. (原数组要根据dfs的顺序来变化) 然后和莫队一样的区间询问. ...
- windows 7 elasticsearch-5.3.2
# windows elasticsearch- D:\nescafe\elasticsearch-\bin λ java -version java version "1.8.0_121& ...
- Java面向对象_简单工厂模式
概念:由一个工厂对象决定创建出哪一种产品类的实例. public class Practice14 { public static void main(String[] args) { // TODO ...
- 初学makefile
makefile 需要用到 常用命令.shell.正则表达式.gcc,比较综合. 今天写了一个做一个记录,以后系统总结一下. 目录结构:russia---------include.src.mian. ...
- AOP注解方式
Aop, aspect object programming 面向切面编程 功能: 让关注点代码与业务代码分离! 关注点, 重复代码就叫做关注点: 切面, 关注点形成的类,就叫切面(类)! 面向切 ...
- 白话SpringCloud | 第一章:什么是SpringCloud
前言 作为SpringCloud的正式第一章,我们先来简单了解下SpringCloud相关知识点吧,内容可能比较多. 何为微服务 传统单体架构 服务化架构 微服务架构 什么是SpringCloud 核 ...
- JAVA 面试重点知识个人总结
一.集合: 1 .Collection(是java.util下的接口) 和 Collections(是java.util下的类). 2 .List, Set,是否继承自Collection接口,Map ...
- jquery 的extend的方法
用flot.js 用到了jquery的extend 方法 关于extend方法 我就照手册打一遍,加深一下理解,说实话其实我理解的也不透 extend 用一个或多个其他对象来扩展一个对象,返回被扩 ...
- Windows服务器高并发处理IOCP(完成端口)详细说明
一. 完成端口的优点 1. 我想只要是写过或者想要写C/S模式网络服务器端的朋友,都应该或多或少的听过完成端口的大名吧,完成端口会充分利用Windows内核来进行I/O的调度,是用于C/S通信模式中性 ...
- html代码能让网页的横向滚动条默认居中
在body 中加入 onload="window.scrollTo((document.body.scrollWidth-document.body.offsetWidth)/2,0)&qu ...