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

5、React组件事件详解

onMouseOut onMouseOver事件:不论鼠标指针穿过被选元素元素,都会触发。...ReactEvent 通过设置原生事件绑定为冒泡阶段调用,且每次测试单击元素按钮: 在元素原生事件程序中阻止事件传播,则打印出: 元素原生事件绑定事件触发; 在元素元素事件程序中阻止事件传播...,则打印出: 元素原生事件绑定事件触发 组件原生事件绑定事件触发元素React合成事件onClick中阻止事件传播,则打印出: 元素原生事件绑定事件触发 组件原生事件绑定事件触发...元素React合成事件绑定事件触发元素React合成事件onClick中阻止事件传播,则打印出: 元素原生事件绑定事件触发 组件原生事件绑定事件触发 元素React合成事件绑定事件触发...组件React合成事件绑定事件触发 可以看到若不阻止事件传播每次(单击元素事件触发流程是: Document->元素(原生事件触发)->元素(原生事件)->回到Document->React

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

JQuery事件处理

;”>这里的内容默认是隐藏的 //JQuery中目前有两个合成事件hover(),toggle();你可以这样理解:合成事件就是可以触发两个函数的事件...博客 //比如一个元素绑定了一个事件,而元素内部后代元素又绑定了一个事件,这样后代元素事件响应的时候元素事件响应不响应呢?...(){ alert(“元素事件被激活”); }); });*/ //单击b包含的内容会激活两个事件,这样怎么才能解决?...){ alert(“元素事件被激活”); event.stopPropagation();//增加这句就阻止事件冒泡,不过ie貌似不支持,当然可以增加一句return false;来解决 }); }... //很多事件都是有用户单击或者鼠标划过来触发的,可是刚打开的页面我们有没有办法直接触发呢?

2.8K50

前端成神之路-WebAPIs03

那么是先执行元素单击事件,还是先执行div的单击事件 ??? ?...常情况下terget 和 this是一致的, 但有一种情况不同,那就是在事件冒泡时(父子元素有相同事件单击元素元素事件处理函数也会被触发执行), 这时候this指向的是元素,因为它是绑定事件元素对象..., 而target指向的是元素,因为他是触发事件的那个具体元素对象。...说白了就是,不给元素注册事件,给元素注册事件,把处理代码在元素事件中执行。 生活中的代理: ? js事件中的代理: ?...事件委托的原理 ​ 给元素注册事件,利用事件冒泡,当元素事件触发,会冒泡到元素,然后去控制相应的元素事件委托的作用 我们只操作了一次 DOM ,提高了程序的性能。

2.9K20

「Web编程API」- 03

那么是先执行元素单击事件,还是先执行div的单击事件 ???...常情况下terget 和 this是一致的,但有一种情况不同,那就是在事件冒泡时(父子元素有相同事件单击元素元素事件处理函数也会被触发执行),这时候this指向的是元素,因为它是绑定事件元素对象...,而target指向的是元素,因为他是触发事件的那个具体元素对象。...什么是事件委托 把事情委托给别人,代为处理。 事件委托也称为事件代理,在 jQuery 里面称为事件委派。 说白了就是,不给元素注册事件,给元素注册事件,把处理代码在元素事件中执行。...生活中的代理 js事件中的代理 事件委托的原理 给元素注册事件,利用事件冒泡,当元素事件触发,会冒泡到元素,然后去控制相应的元素

1.4K50

杨老师课堂之Jquery的筛选,事件,效果,Ajax,javascript跨域)

可以在元素上检测元素获取焦点的情况。...事件冒泡可能会引起预料之外的效果,上例中,本来只想触发元素 的click事件,然而 元素元素的click事件也同时被触 发了.因此有必要对事件的作用范围进行限制.当单击元素时,只 触发元素的click...事件,而不触发元素上的 click事件.当单击 元素时,只触发 元素上的click事件, 而不触发元素上的click事件....; event.stopPropagation();//停止冒泡事件 }) 当单击span元素时,只会触发span元素上的click事件,而不会触发 div元素和body元素的click事件....); return false;//阻止链接跳转 }); (7)event.which()方法 该方法的作用是在鼠标单击事件中获取到鼠标左中右键,在键盘事件中获取键盘的按键.

8.2K20

JavaScript小技能:事件

(Node.js 的事件模型、浏览器插件WebExtensions技术的事件模型) 1.3 事件冒泡及捕获 当一个事件发生在具有元素元素上时,浏览器运行两个不同的阶段 - 捕获阶段和冒泡阶段。...然后,它移动到中单击元素的下一个祖先元素,并执行相同的操作,依此类推,直到到达实际点击的元素。...事件委托: 如果你想要在大量子元素单击任何一个都可以运行一段代码,您可以将事件监听器设置在其父节点上,并让节点上发生的事件冒泡到节点上,而不是每个子节点单独设置事件监听器。...的事件以属性形式onclick、onmouseover关联事件侦听器代码 事件监听属性 描述 onmouseover 鼠标移入事件 onmouseout 鼠标移出事件 onclick 鼠标单击事件 ondblClick...//在鼠标指针移到指定的元素后执行Javascript代码: 鼠标指针移动到这。

1.4K10

JavaScript鼠标事件细讲:执行顺序+注意事项+区别比对

JavaScript 中,鼠标事件是 Web 开发中最常用的事件类型,本篇算是笔记吧。...常见的鼠标事件有click:单击鼠标左键时发生。...mouseenter/mouseovermouseover(鼠标覆盖):当鼠标移入元素元素都会触发事件,所以有一个重复触发,冒泡过程。...区别点:mouseenter不会冒泡,简单的说,它不会被它本身的元素的状态影响到.mouseover就会被它的元素影响到,在触发元素的时候,mouseover会冒泡触发它的元素....(想要阻止mouseover的冒泡事件就用mouseenter)mouseenter/mouseover共同点:当二者都没有元素时,二者的行为是一致的,但是二者内部都包含元素时,行为就不同了.总结就是

2.9K21

webAPIs03-属性选择器、环境对象this、事件、页面对象

如上图所示,任意事件触发时总会经历两个阶段:【捕获阶段】和【冒泡阶段】。 简言之,捕获阶段是【从父到】的传导过程,冒泡阶段是【从子向】的传导过程。...,祖先元素单击事件也【相继触发】,这是为什么呢?...结合事件流的特征,我们知道当某个元素事件触发时,事件总是会先经过祖先才能到达当前元素,然后再由当前元素向祖先传递,事件在流动的过程中遇到相同的事件便会被触发。...(其中一个原因是早期 IE 不支持捕获) 阻止冒泡 阻止冒泡是指阻断事件的流动,保证事件只在当前元素被执行,而不再去影响到对应的祖先元素。... 阻止冒泡 阻止冒泡是指阻断事件的流动,保证事件只在当前元素被执行,而不再去影响到对应的祖先元素

74710

jQuery 事件

keyup focus scroll mouseleave blur unload 事件绑定 文档装载完成后,如果打算为元素绑定事件来完成某些操作,则可以使用on()方法来对被选元素元素上添加一个或多个事件处理程序...event.pageX 返回相对于文档左边缘的鼠标位置 event.pageY 返回相对于文档上边缘的鼠标位置 event.preventDefault() 阻止事件的默认行为 event.relatedTarget...返回当鼠标移动时哪个元素进入或退出 event.result 包含由被指定事件触发事件处理程序返回的最后一个值 event.stopImmediatePropagation() 阻止其他事件处理程序被调用...event.stopPropagation() 阻止事件向上冒泡到 DOM 树,阻止任何处理程序被事件通知 event.target 返回哪个 DOM 元素触发事件 event.timeStamp...返回从 1970 年 1 月 1 日到事件触发时的毫秒数 event.type 返回哪种事件类型被触发 event.which 返回指定事件上哪个键盘键或鼠标按钮被按下 常用jQuery事件的范例代码

2.8K70

JS事件

-向一个节点中添加一个节点 整合上面操作的小案例 节点.insertBefore(新节点,旧节点): 在指定子节点前插入新的节点 节点.replaceChild(新节点,旧节点): 使用指定的节点替换已有的节点...节点.removeChild(节点):删除节点 使用innerHTML也可以完成DOM的增删改操作 阻止a标签默认行为的常用三种方式 a标签的索引问题 JS修改元素的样式 读取元素的内联样式 获取当前元素显示的样式...等,尽管解决了返回顶部的问题仍存在其他缺陷 (3)事件处理函数的工作机制中,在给某元素添加事件处理函数后,一旦事件发生,相应JavaScript代码就会执行,所调用的JavaScript代码的返回值被传递给事件处理函数...event ---- 事件的委派 问题: 如果一次性为全部包括新增的超链接绑定单击响应事件呢?...; var ly=event.clientY-obj.offsetTop; //当触发鼠标按下事件之后,obj会跟随鼠标移动 //即触发鼠标在当前页面的移动事件

12.6K10

事件

这个事件并不是DOM2级事件规范中规定的,得到广泛应用,在DOM3中将其纳入了标准; mousedown 用户按下任意鼠标按钮时触发; mouseenter 鼠标光标从元素外部首次移动到元素范围内时触发...移入的另一个元素可能位于元素外部,也可能使其元素。 mouseover 鼠标指针位于一个元素外部,然后用户将其首次移入另一个元素边界之内时触发。 mouseup 用户释放鼠标按钮时触发。...当鼠标从上图“区域2”移动到“区域3”中,会同时触发“mouseleave”和“mouseout”事件; 当鼠标从上图“区域2”移动到“区域1”(元素)中,只会触发“mouseout”; 需要注意的时...最后会触发DOMSubtreeModified事件目标是被移除节点的节点。...虽然mouseover和mouseout事件也冒泡,但要适当处理他们并不容易,而且经常需要计算元素的位置(因当鼠标从一个元素移动到节点时或者鼠标移出该元素时,就会触发mouseout事件) 2.

3.2K51

事件高级

那么是先执行元素单击事件,还是先执行div的单击事件 ??? 事件流描述的是从页面中接收事件的顺序。 事件发生时会在元素节点之间按照特定的顺序传播,这个传播过程即DOM事件流。...常情况下terget 和 this是一致的, 但有一种情况不同,那就是在事件冒泡时(父子元素有相同事件单击元素元素事件处理函数也会被触发执行), 这时候this指向的是元素,因为它是绑定事件元素对象..., 而target指向的是元素,因为他是触发事件的那个具体元素对象。    ...说白了就是,不给元素注册事件,给元素注册事件,把处理代码在元素事件中执行。 生活中的代理: ? js事件中的代理: ?...(给元素注册事件,利用事件冒泡,当元素事件触发,会冒泡到元素,然后去控制相应的元素。)

1.3K20

jquery 绑定事件 - mouseover() mouseout() mouseenter() mouseleave() hover()

事件函数列表 blur() 元素失去焦点 focus() 元素获得焦点 click() 鼠标单击 mouseover() 鼠标进入(进入元素触发) mouseout() 鼠标离开(离开元素触发)...mouseenter() 鼠标进入(进入元素触发) mouseleave() 鼠标离开(离开元素触发) hover() 同时为mouseenter和mouseleave事件指定处理函数 ready...这样就像是类似事件冒泡,不过是元素将mouseover()传递冒泡给元素,就算子元素没在#big里面,也会触发这个事件。...mouseout() 鼠标离开(离开元素触发) 上面看了mouseover() 是鼠标进入的事件,那么下面来看看这个事件离开的事件。 ? ?...当元素元素内部的时候,mouseenter()就只会触发一次而已。也就是刚刚进入元素#big div的时候触发,再进入#small div的时候就不会触发了。

2.8K30

web前端常见面试题

因此上面代码在点击元素时会先执行元素绑定的事件,然后向上冒泡,触发元素绑定的事件。 addEventListener 函数的第三个参数是个布尔值。...比如: blur 元素失去焦点时触发,focusout 事件也是失去焦点时触发,但可以冒泡; focus 元素获取焦点时触发; mouseenter 鼠标移动到元素上时会触发事件,与之对应的是 mouseover...,可以将事件绑定到元素上,并让节点上发生的事件冒泡到节点上,利用 e.target 属性可以获取到当前触发事件元素。...事件对象中的方法 stopPropagation() 阻止事件冒泡,当设置后,点击该元素元素绑定的事件就不会再触发; preventDefault() 阻止默认事件的发生; stopImmediatePropagation...stopImmediatePropagation,第三个 click 事件就不会触发,因为也阻止了冒泡,因此元素的 click 事件也不会触发

2.3K20

DOM事件

改变事件(change): 当表单元素的值改变时触发(通常用于输入框、下拉框等)。鼠标移入/移出事件(mouseover/mouseout): 当鼠标移入或移出元素触发。...事件事件:浏览器赋予元素的默认行为,可以理解为事件是天生具备的。不论是否为绑定方法,当某些行为触发的时候,相关的事件都会被触发执行。...} 单击(移动端:300ms内没触发第二次,所以click在移动端有300ms延迟);点击(PC端)元素.oncontextmenu=function(){}右键点击元素.ondblclick=function...(){} 双击,大约300ms内连续点击两次元素.onmouseenter=function(){}鼠标移入,进入节点不会触发这个事件元素.onmouseleave=function(){}鼠标离开,...进入节点不会触发这个事件元素.onmouseout=function(){}鼠标滑出,进入节点会触发这个事件元素onmouseover=function(){}鼠标滑过,进入节点会触发这个事件元素

14920

事件高级

鼠标触发事件的话,会得到鼠标的相关信息,如鼠标位置。 键盘触发事件的话,会得到键盘的相关信息,如按了哪个键。...常情况下terget 和 this是一致的, 但有一种情况不同,那就是在事件冒泡时(父子元素有相同事件单击元素元素事件处理函数也会被触发执行), 这时候this指向的是元素,因为它是绑定事件元素对象..., 而target指向的是元素,因为他是触发事件的那个具体元素对象。...说白了就是,不给元素注册事件,给元素注册事件,把处理代码在元素事件中执行。 生活中的代理: 咱们班有100个学生,快递员有100个快递, 如果一个个的送花费时间较长。...js事件中的代理: ? 事件委托的原理 给元素注册事件,利用事件冒泡,当元素事件触发,会冒泡到元素,然后去控制相应的元素

1.5K41

js鼠标事件 clientX、clientY、offsetX、offsetY、layerX、layerY、pageX、 pageY、screenX、screenY「建议收藏」

MouseEvent的类别有以下: mousedown 鼠标按下 mouseup 鼠标释放 click 左键单击 dblclick 左键双击 mousemove 鼠标移动 mouseover 鼠标经过...区别:mouseover和mouseout元素也会触发,可以冒泡触发 区别:mouseenter和mouseleave是针对侦听的对象触发阻止了冒泡 阻止鼠标的默认事件 e.preventDefault...() e.returnValue=false;//IE8 及以下兼容写法 return false;//IE兼容写法,只用作on事件阻止默认事件 去除单击右键菜单 document.body.addEventListener...layerX,layerY layerX,layerY 往上找有定位属性的元素的左上角(自身有定位属性的话就是相对于自身),都没有的话,就是相对于body的左上角 当元素及它的级都没有定位属性时,以...body的左上角为原点: 当元素级都有定位属性时,以级的左上角为原点: 当元素自身有定位属性时,以自身的左上角为原点: pageX, pageY pageX, pageY

2.4K20

事件对象的使用、属性和方法

1 event.target代表当前触发事件元素,可以通过当前元素对象的一系列属性来判断是不是我们想要的元素 2 target属性可以是注册事件时的元素或者元素,通常用于比较event.target...事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁 4 jQuery事件对象的作用 li都有一个共同的元素,而且所有的事件都是一致的...,鼠标相对于文档的左边缘的位置(左边)与 (顶边)的距离,简单来说是从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化 7 event.preventDefault()阻止默认行为,在执行这个方法后...()阻止事件冒泡,为防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数 9 event.which获取在鼠标单击时,单击的是鼠标的哪个键 10 event.which...DOM元素,冒泡前的当前触发事件的DOM对象, 等同于this 12 this和event.target的区别 this是可以变化的,event.target不会变化,它永远是直接接受事件的目标

1.5K30

【Java 进阶篇】JavaScript 事件详解

鼠标事件 click:鼠标点击事件。 mouseover:鼠标移动到元素上时触发。 mouseout:鼠标元素上移开时触发。 mousedown:鼠标按钮被按下时触发。...'); }); child.addEventListener('click', function() { console.log('元素被点击'); }); 在这个示例中,当点击按钮时,事件会首先在元素触发...,然后冒泡到元素。...因此,控制台将输出以下内容: 元素被点击 元素被点击 您可以使用stopPropagation方法来阻止事件继续冒泡: child.addEventListener('click', function...(event) { console.log('元素被点击'); event.stopPropagation(); // 阻止事件冒泡 }); 在这种情况下,只有元素上的事件处理程序会运行,元素上的不会执行

22440
领券