首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈JavaScript事件事件对象

在触发DOM上某个事件时,会产生一个事件对象event,这个对象包含这所有与事件有关信息。包括导致事件元素、事件类型和事件相关信息。例如鼠标操作事件,会包含鼠标的位置信息。...而键盘触发事件会包含与按下键有关信息。所有浏览器都支持event对象,但支持方式不同。 DOM事件对象   兼容dom浏览会将一个event对象传递到事件处理程序。...只读 为true表示事件是浏览器生成,false表示JavaScript添加 type String 只读 被触发事件类型 view AbstarctView 只读 与事件关联抽象视图   上面的表格列出了...document.body.onclick发生在事件冒泡阶段。 IE事件对象   在IE中方式event对象可以通过多种方式,取决于指定事件处理程序方法。...但是如果通过attachEvent添加事件,则事件处理程序会传递一个event对象。   IEevent对象同样包含创建它相关属性和方法,与DOM事件一样,也会因为事件类型不同而不同。

1.2K60

JavaScript 事件对象

那么事件对象是什么?它在哪里呢?当触发某个事件时,会产生一个事件对象,这个对象包含着所有与事件有关信息。包括导致事件元素、事件类型、以及其它与特定事件相关信息。...事件对象,我们一般称作为event对象,这个对象是浏览器通过函数把这个对象作为参数传递过来。那么首先,我们就必须验证一下,在执行函数没有传递参数,是否可以得到隐藏参数。...四.W3C与IE 在标准DOM事件,event对象包含与创建它特定事件有关属性和方法。触发事件类型不一样,可用属性和方法也不一样。...等同于发生事件window对象 IEevent对象属性 属性 类型 读/写 说明 cancelBubble Boolean 读/写 默认值为false,但将其设置为true就可以取消事件冒泡 returnValue...首先第一个我们了解一下W3Ctarget和IEsrcElement,都表示事件目标。

1.9K100
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript事件对象

theme: channing-cyan 这是我参与8月更文挑战第27天,活动详情查看:8月更文挑战 什么是事件对象 事件对象其实就是event对象,在我们操作DOM发生事件时,所有的相关信息都会被集中存储在这个...event对象,这个对象包含了被发生事件元素,发生事件类型以及可能与特点事件相关其他数据,所有浏览器都支持这个event对象,但是ie访问方式略有不同,我们稍后细说,往下观看。...DOM事件对象 event对象是传给事件处理程序唯一参数,我们输出一下它看看里面都有什么。...我们说一下this指向问题 在事件处理程序内部,this对象始终等于currentTarget值。...IE事件对象 前面提到过ie访问方式不同,在ieevent对象可能是window对象一个属性。

67030

JavaScript事件对象事件委托

事件对象 包含事件相关信息,如鼠标、时间、触发DOM对象等  js默认将事件对象封装好,并自动以参数形式,传递给事件处理函数第1个参数,如下: document.getElementsByTagName...("div")[0].onclick = function(e){   e = window.event || e; //兼容IE低版本(事件对象绑定在windowevent上)   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

88350

JavaScript对象管理和事件清理

JavaScript作为一种垃圾回收语言,通常我们不必关心对象分配和释放问题。但偶尔,在处理回调函数时,即使不再有任何有意义引用,也很容易让对象永远保持活跃状态。...:当对象被收集时执行某些操作根据情况,我们可能需要这些功能一个或另一个,但我今天想描述情况将使用第一个和最后一个功能。...一个常见情况是对象关心某些外部状态变化,只要它们存在就要关注。例如,自定义元素可能希望在window对象上监听"scroll"事件。但是,简单地向window添加事件侦听器意味着保留对对象引用。...如果这些自定义元素生命周期很短但数量很多,它们将在内存累积,并且额外事件侦听器也会堆积并浪费处理能力。...为了实现这一点,我们可以利用两个特性:首先,将事件侦听器对this强引用替换为WeakRef将阻止事件侦听器在没有其他引用存在时保持对象活跃。

16100

JavaScript事件对象事件处理程序

一、事件对象 事件对象:在DOM触发事件时,会产生一个事件对象event,这个事件对象包含着所有与事件相关信息。...既然event是事件对象,那么它必然存在属性   ①DOM事件对象event属性   (1)、type属性用于获取事件类型   (2)、target、srcElement...属性用于获取事件目标   (3)、stopPropagation()方法 用于阻止事件冒泡   (4)、preventDefault() 方法 阻止事件默认行为 二、DOM2级事件处理程序...  (1)、addEventListener() 用于处理指定事件处理程序操作  (2)、removeEventListener() 用于处理删除事件处理程序操作 三、IE事件处理程序   (1...)、attachEvent() 用于处理指定事件处理程序操作  (2)、detachEvent() 用于处理移除事件处理程序操作

78730

JavaScript函数、对象事件

圆括号可包括由逗号分隔参数,由函数执行代码被放置在花括号 {} : function name(参数 1, 参数 2, 参数 3) { 要执行代码 } 当 JavaScript 到达 return...name 引用是函数对象,而 name() 引用是函数结果。可以将函数对象赋值给变量(变量值是函数定义)。...对象 JavaScript 对象也是变量,但是对象包含很多值。JavaScript 对象是被命名值容器。 值以名称:值对方式来书写(名称和值由冒号分隔),名称:值对被称为属性。...对象也可以有方法,方法是在对象上执行动作。方法以函数定义被存储在属性。方法实际上是以属性值形式存储函数定义。...事件 HTML 事件可以是浏览器或用户做某些事情,比如: HTML 网页完成加载 HTML 输入字段被修改 HTML 按钮被点击 ⋯\cdots⋯ 通过 JavaScript 代码,HTML 允许您向

59120

JavaScript 对象

对象 JavaScript 对象,Object,可以简单理解成“名称 - 值”对(而不是键值对:现在,ES 2015 映射表(Map),比对象更接近键值对),不难联想 JavaScript 对象与下面这些概念类似...: Python 字典(Dictionary) Perl 和 Ruby 散列/哈希(Hash) C/C++ 散列表(Hash table) Java 散列映射表(HashMap) PHP...正因为 JavaScript 一切(除了核心类型,core object)都是对象,所以 JavaScript 程序必然与大量散列表查找操作有着千丝万缕联系,而散列表擅长正是高速查找。...“名称”部分是一个 JavaScript 字符串,“值”部分可以是任何 JavaScript 数据类型——包括对象。这使用户可以根据具体需求,创建出相当复杂数据结构。...“对象字面量”也可以用来在对象实例定义一个对象: var obj = { name: "Carrot", _for: "Max",//'for' 是保留字之一,使用'_for'代替

2.3K20

浅析 JavaScript 事件委托

按钮列表被迭代为 for (const button of buttons) ,并且每个按钮都被附加了一个新侦听器。另外在列表按钮被添加或删除后,你必须还要手动删除或附加事件监听器。...毫无疑问,按钮本身会收到单击事件。而且所有按钮祖先,甚至包括 document 和 window 对象也会收到。...JavaScript事件传播 addEventListener 方法第三个参数 captureOrOptions: element.addEventListener(eventType, handler...使用事件委托需要 3 个步骤: 步骤 1:确定要监视事件元素父级元素 在上面的例子, 是按钮父元素。...该事件侦听器也会对按钮单击做出反应,因为按钮单击事件冒泡通过祖先元素(由于事件传播)。 步骤 3:用 event.target 选择目标元素 单击按钮时,将会用event 对象参数调用处理函数。

2.6K30

Javascript 对象拷贝

说到 javascript 对象拷贝,首先我们想到是 Object.assign() ,  JSON.parse(JSON.stringify()) , 还有 ES6 展开操作符[... ] 因为在...js = 运算符 对于对象来说,不能创建副本,只是对该对象引用 运算符 var x = { a: 1, b: 2, }; y = x; x.a = 10; console.log(x);...//{a:5, b:2, c:{d:10}} console.log(y); //{a:5, b:2, c:{d:10}} 此时就发现坑了,那么已经证明了 Object.assign() 只是实现了对象浅拷贝...Object.assign() 还需要注意一点是,原型链上属性不可枚举对象是无法复制,看一下代码: var x = { a: 1, }; var y = Object.create(x, {...ECMAScript 第 3 阶段提案,   拷贝对象更加简单了 var x = [ "a", "b", "c", "d", { e: 1, }, ]; var y

97140

JavaScriptEvent(事件)详解

Event 对象 Event 对象代表事件状态,比如事件在其中发生元素、键盘按键状态、鼠标的位置、鼠标按钮状态。 事件通常与函数结合使用,函数不会在事件发生前被执行!...事件句柄 (Event Handlers) HTML 4.0 新特性之一是能够使 HTML 事件触发浏览器行为,比如当用户点击某个 HTML 元素时启动一段 JavaScript。...下面是一些常用属性,可将之插入 HTML 标签以定义事件行为。 1、单击事件 ? 2、双击事件 ?...5、焦点事件 onfocus:获得焦点事件 onblur:失去焦点事件 onchange:失去焦点时内容改变事件 ? 6、页面加载事件 onload:页面加载完成时实现页面。 ?...如下图:同时触发两种事件 ? 相关事件所对应函数代码: ? 附:事件名称表 ?

88610

一文解读JavaScript事件对象和表单对象

前言 相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript...1.事件对象(Event) 1).事件对象常量 bubbles 事件是否是起泡事件类型 cancelable 事件是否可确定可取消默认动作 currentTarget...事件生成日期和时间 type 当前Event对象表示事件名称 initEvent() 初始化新创建 Event 对象属性 preventDefault() 不执行默认动作...returnValue 设置或获取事件返回值 keyCode(IE) 键盘码 which() charCode offsetX,offsetY 事件在源元素x坐标和y坐标。...这篇文章主要介绍了JavaScript事件对象和表单对象

91520

HTMLDOM 对象事件

前置说明 HTML DOM 事件允许Javascript在HTML文档元素中注册不同事件处理程序。 事件通常与函数结合使用,函数不会在事件发生前被执行! (如用户点击按钮)。...在 W3C 2 级 DOM 事件规范了事件模型HTML DOM 事件 指明使用 DOM 属性级别。 鼠标事件 属性 描述 DOM onclick 当用户点击某个对象时调用事件句柄。...onpopstate 该事件在窗口浏览历史(history 对象)发生改变时触发。...2 [target 返回触发此事件元素(事件目标节点)。 2 timeStamp 返回事件生成日期和时间。 2 type 返回当前 Event 对象表示事件名称。...2 方法 方法 描述 W3C initMouseEvent() 初始化鼠标事件对象值 2 initKeyboardEvent() 初始化键盘事件对象

1.4K20

前端JavaScript动态事件添加

前言 在前端开发,交互性是至关重要。动态事件添加是一种在JavaScript实现交互重要技术。本文将介绍动态事件添加概念和优势,并详细介绍两种常用动态事件添加方法。...事件基本概念 事件是指在网页中发生特定交互行为,比如点击按钮、滚动页面或输入文本等。通过事件,我们可以在特定交互行为发生时触发相关JavaScript代码,以实现相应操作和逻辑。...减少重复代码: 可以通过动态事件添加方式,避免在HTML为每个元素都编写相同事件处理代码。...通过addEventListener()方法动态添加事件 addEventListener()方法是DOM对象提供一种常用事件添加方式。...3.在父元素事件处理函数,通过判断事件目标元素,确定要执行操作。 总结 动态事件添加是前端开发实现交互性重要手段。通过动态事件添加,我们可以实现灵活、可扩展交互效果,减少重复代码编写。

19120

JavaScript 对象深拷贝

JavaScript,对对象进行拷贝场景比较常见。但是简单复制语句只能对对象进行浅拷贝,即复制是一份引用,而不是它所引用对象。...而更多时候,我们希望对对象进行深拷贝,避免原始对象被无意修改。 对象深拷贝与浅拷贝区别如下: 浅拷贝:仅仅复制对象引用,而不是对象本身; 深拷贝:把复制对象所引用全部对象都复制一遍。...但是 Object.assign() 进行是浅拷贝,拷贝对象属性引用,而不是对象本身。 ? 二....深拷贝实现 要实现深拷贝有很多办法,有最简单 JSON.parse() 方法,也有常用递归拷贝方法,和ES5 Object.create() 方法。...但是当遇到两个互相引用对象,会出现死循环情况。 为了避免相互引用对象导致死循环情况,则应该在遍历时候判断是否相互引用对象,如果是则退出循环。 改进版代码如下: ?

98320
领券