首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JS事件冒泡及阻止

事件冒泡及阻止 当一个元素接收到事件时候,会把他接收到事件传给自己父级,一直到window,当然其传播事件,绑定执行函数并不会传播,如果父级没有绑定事件函数,就算传递了事件,也不会有什么表现...事件冒泡原因是事件源本身可能没有处理事件能力,即处理事件函数并未绑定在该事件源上。它本身并不能处理事件,所以需要将事件传播出去,从而能达到处理该事件执行函数。...DOCTYPE html> JS事件冒泡及阻止 div{...DOCTYPE html> JS事件冒泡及阻止 li{...有时候我们并不希望事件冒泡而去执行上级节点绑定事件,这时候就需要阻止事件冒泡,w3c方法是e.stopPropagation(),IE则是使用 window.event.cancelBubble

6.5K20

js触发全屏事件

} } 此方法亲身实践过,有效 下面这个方法未实践,不知是否有效 让用户端JS触发就是让用JS监听用户操作事件,通过JS程序去实现F11全屏。...这个事件可以是一个按钮点击事件,当然也可以是键盘事件,比如用户按下F11。    ...1.F11键盘事件触发   当用户按下F11事件,浏览器为触发自身全屏功能,这个过程我们一般是不可控制,即使是监听了F11键盘事件,退出全屏时候,我们也捕捉不到退出全屏触发事件。...所以,我们就用程序自己去实现F11功能,首先需要禁用浏览器默认事件动作。...arguments.callee.caller.arguments[0]; 3 if(e && e.keyCode == 122){//捕捉F11键盘动作 4 e.preventDefault(); //阻止

15.7K30

JS篇(028)-移动端 click 事件、touch 事件tap 事件区别

参考答案: 1.click 事件在移动端会有 200-300ms 延迟,主要原因是苹果手机在设计时,考虑到用户在浏览网页时需要放大,所以,在用户点击 200-300ms 之后,才触发 click,...mouseover mouseup 触发 3.tap 事件在移动端,代替 click 作为点击事件tap 事件被很多框架(如 zepto)封装,来减少这延迟问题, tap 事件不是原生,所以是封装...(btn, function() { alert('taped'); }); 拓展: 点透问题 如果我们在移动端所有的 click 都替换为了 tap 事件,还是会触发点透问题...,因为实质是: 在同一个 z 轴上,z-index 不同两个元素,上面的元素是一个绑定了 tap 事件,下面是一个 a 标签,一旦 tap 触发,这个元素就会 display: none,而从上面的...tap 可以看出,有 touchstart、touchend,所以会 300ms 之后触发 click 事件,而 z-index 已经消失了,所以,触发了下面的 a click 事件,注意: 我们认为

5.7K40

【Node.JS事件绑定与触发

往期文章 【Node.JS】写入文件内容 【Node.JS】读取文件内容 目录 简介 绑定事件 on() addListener()  once() 监听事件emit()  传参  删除事件 removeListener...()  removeAllListeners() ---- 简介 node.js事件是使用events模块,通过实例化它里面的EventEmitter类,来绑定和监听事件。...{a}同志`); }) //触发事件冰川入参数 event.emit('namea', '小解');  once() once 只会绑定一次性触发事件触发一次后就会解除绑定。...{a}同志`); }) //触发事件冰川入参数 event.emit('namea', '小解'); event.emit('namea', '小解');  我们触发两次,但只会显示一次结果。...('namea', function () { console.log("坚毅小解同志"); }) //触发事件 event.emit('namea'); 通过emit来进行触发事件

11K40

vue.js中实现阻止事件冒泡

当父子元素中都有点击事件时候,为了让触发子元素中事件时,不去触发父元素中事件,可以在子元素事件中添加stop来阻止事件冒泡。....stop 是阻止冒泡行为,不让当前元素事件继续往外触发,如阻止点击div内部事件,触发div事件 .prevent 是阻止事件本身行为,如阻止超链接点击跳转,form表单点击提交 .self 是只有是自己触发自己才会执行...,如果接受到内部冒泡事件传递信号触发,会忽略掉这个信号 .capture 是改变js默认事件机制,默认是冒泡,capture功能是将冒泡改为倾听模式 .once 是将事件设置为只执行一次,如 .click.prevent.once...代表只阻止事件默认行为一次,当第二次触发时候事件本身行为会执行 .passive 滚动事件默认行为 (即滚动行为) 将会立即触发,而不会等待 onScroll 完成。...这个 .passive 修饰符尤其能够提升移动端性能。 阻止click事件冒泡(防止触发另一个事件)方法 使用vue阻止子级元素click事件冒泡。

5.9K10

js 停止事件冒泡 阻止浏览器默认行为

在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”。...否则,我们需要使用IE方式来取消事件冒泡 7 window.event.cancelBubble = true; 8 return false; 2.阻止浏览器默认行为 JavaScript代码...return false; } 但是在使用return false时必须注意: 1、jQuery有自己事件处理层,也对处理程序做了封装,如果事件处理程序返回false,事件冒泡和浏览器默认事件都会被阻止...2、使用原生javaScript,在事件处理程序中返回false只会阻止浏览器默认行为,而事件冒泡依然存在。 3、浏览器默认行为和事件冒泡是相互独立阻止事件冒泡不会影响默认行为,反之亦然。...事件处理程序中无法取消

5.2K120

JS事件流、事件冒泡、阻止冒泡、事件捕获(一看就懂)

事件冒泡 、阻止冒泡 和 事件捕获 之前先说说什么是事件流,这样会更容易明白 一、事件事件流 1、什么是事件 事件是可以被 JavaScript 侦测到行为。...一个完整JS事件流是从window开始,最后回到window一个过程。 事件流被分为三个阶段(1~ 5)捕获过程、(5~ 6)事件触发过程、(6~ 10)冒泡过程。...三、阻止冒泡 1、JS阻止事件冒泡 我们用 e.stopPropagation() 这个方法添加到某事件函数里末尾,就可以做到阻止冒泡事件。...提示: 所有 HTML DOM 事件,可以查看我们完整 HTML DOM Event 对象参考手册。 function 必需。描述了事件触发后执行函数。...当事件触发时,事件对象会作为第一个参数传入函数。事件对象类型取决于特定事件。例如, “click” 事件属于 MouseEvent(鼠标事件) 对象。 useCapture 可选。

10.4K53

看知乎学习js事件触发过程

获取Event对象target属性,代表当前元素对象 使用事件代理,给父节点绑定监听事件,可以提升性能,可以减少绑定给每个子节点 停止事件冒泡,调用Event对象stopPropagation(...)方法,降低事件复杂性 知乎:javascript事件处理阶段问题在DOM 2中,事件流有三个阶段,事件捕获阶段,处于目标阶段和事件冒泡阶段。...问题二:根据上面的3个例子事件处理程序在哪个阶段被处理,那么eventPhase不就是它在哪个阶段被处理结果? 问题三:不同阶段处理事件,会有什么不同?有具体例子吗?...= function(event){ alert(event.eventPhase); // 3 冒泡阶段,document.body 上事件处理程序 } 事件流说是页面接收事件顺序...我在看这部分时候,觉得挺合理。既然是目标元素事件处理程序,当然得在处于目标阶段处理事件了啊。 具体为什么我也在找答案,求大神讲解。

3.7K10

JS实现select选中option触发事件操作示例

本文实例讲述了JS实现select选中option触发事件操作。...分享给大家供大家参考,具体如下: 我们在用到下拉列表框select时,需要对选中选项触发事件,其实本身没有触发事件方法,我们只有在select里onchange方法里触发。...想添加一个option触发事件,在option中添加onclick 点来点去就是不会触发事件 又在select中添加onclick 这下可好了,没选option呢就触发了 百度来说option没有触发事件...,需要在select中加onchange事件,虽然我曾经处理过类似的问题,用过就忘是不是猪脑子… 这次记住了吧应该 当我们触发select双击事件时,用ondblclick方法。...当我们要取得select选中事件时,用document.all[‘name’].value来获取,其中name是select名称。 如果我们要得到select全部值就用一个for循环来实现。

10.5K20
领券