特性说明和原理图: 标准浏览器和Ie9+浏览器都支持事件的冒泡和捕获,而IE8-浏览器只支持冒泡 标准和Ie9+浏览器用stopPropagation()或cancelBubble阻止事件传播,而ie8...-用e.cancelBubble属性来阻冒泡,注意ie9不支持cancelBubble属性(设置后不生效),但chrome、safari、opera、firefox都支持cancelBubble属性。...stopPropagatin()方法用于阻止事件的传播,如果设置在捕获阶段,则目标和冒泡阶段不会被执行; cancelBubble属性只能阻止冒泡阶段,对捕获和目标阶段的事件不能阻止 preventDefault...stopType" id="stopType"> StopPropagation cancelBubble...id="btnReject">cont阻止捕获或冒泡 层级关系:body->wrap->cont->button,可以对照上面的原理 Js
e:window.event; } js停止事件冒泡 function myfn(e){ window.event? ...window.event.cancelBubble = true : e.stopPropagation(); } js阻止默认行为 function myfn(e){ window.event? ...false : e.preventDefault(); } 以下是具体关于JavaScript停止冒泡和阻止默认行为的详细说明 防止冒泡 w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble...window.event.cancelBubble = true : e.stopPropagation(); 阻止默认行为 w3c的方法是e.preventDefault(),IE则是使用e.returnValue...window.event.returnValue == false; } } return false javascript的return false只会阻止默认行为,而是用jQuery的话则既阻止默认行为又防止对象冒泡 下面这个使用原生js
讲stopPropagation方法之前必需先给大家解说一下js的事件代理。 事件代理用到了两个在JavaSciprt事件中常被忽略的特性:事件冒泡以及目标元素。...起到阻止js事件冒泡的作用。 看一段代码。 阻止JS事件冒泡传递(cancelBubble 、stopPropagation)... ...evt : window.event; if ( window.event ) { e.cancelBubble = true;/
听了简介介绍之后,您可能不理解,所以举个例子: js事件冒泡测试 <div id='content' onclick...所以就去网上搜索资料,简单学习一下,就是点击一个按钮的时候,竟然触发了两次,通过排查,发现了冒泡机制导致的,解决方法是禁用事件冒泡机制 w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble...= true $(element).click(function(e){ e.stopPropagation();//ie e.cancelBubble = true }); 当然除了冒泡机制会导致
); b_save.onclick=function(){ alert("单击了保存按钮"); } 由于html代码是按照顺序执行的,所以像input表单定义这里,一定要放在js...当然也是有方式让js代码在最后执行的,先把页面渲染出来再执行js代码,这点后续再说。 注意:在JavaScript中指定事件处理程序时,事件名称必须小写,才能正确响应事件。...**IE:**通过设置event对象的cancelBubble为true即可 function someHandle() { window.event.cancelBubble = true;...event = event || window.event; if(event.stopPropagation) event.stopPropagation(); else event.cancelBubble
接上一篇,突然想起来,类似于网页里如何使用js禁用鼠标右击事件,还有禁用F12事件也可以禁用一下,总所周知,对于Web开发人员来说,常常要进行界面的调试。...currKey=evt.keyCode||evt.which||evt.charCode; if (currKey == 123) { window.event.cancelBubble...currKey=evt.keyCode||evt.which||evt.charCode; if (currKey == 123) { window.event.cancelBubble
外观模式在JS中常常用于解决浏览器兼容性问题。 2. 实现 外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。...event.preventDefault) {event.preventDefault()} else {event.returnValue = false} // IE下 } const cancelBubble...const event = getEvent(event) if (event.stopPropagation) {event.stopPropagation()} else {event.cancelBubble...---- 本文是系列文章,可以相互参考印证,共同进步~ JS 抽象工厂模式 JS 工厂模式 JS 建造者模式 JS 原型模式 JS 单例模式 JS 回调模式 JS 外观模式 JS 适配器模式 JS 利用高阶函数实现函数缓存...(备忘模式) JS 状态模式 JS 桥接模式 JS 观察者模式 网上的帖子大多深浅不一,甚至有些前后矛盾,在下的文章都是学习过程中的总结,如果发现错误,欢迎留言指出~ 参考: 设计模式之外观模式 《Javascript
分析一下,实现这个功能需要:鼠标按下,鼠标移动和鼠标抬起几个功能方能实现,那么找到相应的js事件:mousedown、mousemove、mouseup 找到这几个事件,基本上我们的功能可以说完成了一半了...background-position: 0px 0px;"> <script type="text/javascript" src="http://api.map.baidu.com/api?...if (event.stopPropagation) event.stopPropagation(); //标准模型 else event.<em>cancelBubble</em>..._startY = startY; if (e.stopPropagation) e.stopPropagation(); //标准模型 else e.<em>cancelBubble</em>
document.onkeydown = function () { if (event.keyCode == 116) { event.keyCode = 0; event.cancelBubble...document.oncontextmenu = function () { return false; } 添加完成之后,先情况浏览器缓存查看效果,有的没有效果是因为本地浏览器缓存了页面内容和js
这里我们就用js模拟一下qq消息一样的弹出窗。 直接贴代码: <!...= undefined) { window.event.cancelBubble = true; } else if (e.stopPropagation) {...= undefined) { window.event.cancelBubble = true; } else if (e.stopPropagation) {
> ②:在JS.../script> 总结:优先使用第二种,将js...问题:HTML 元素添加事件, 与JS添加事件是否可以完全等价? 在实际开发中,如果传参数,使用HTML元素绑定事件,如果不传参数,使用JS绑定事件。传参数也可以使用与JS绑定事件【使用匿名函数】。...alert("a"); if(e && e.stopPropagation){ // 火狐浏览器 e.stopPropagation(); }else{ // IE 浏览器 window.event.cancelBubble...preventDefault()用于阻止默认事件的发生, 该方法IE 不支持 ,在IE中使用 returnValue 提供stopPropagation()用与阻止事件传播,该方法IE不支持,在IE中 cancelBubble
防止冒泡和捕获 w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble = true stopPropagation也是事件对象(Event)的一个方法,用是阻止目标元素的冒泡事件...window.event.cancelBubble = true : e.stopPropagation(); 取消默认事件 w3c的方法是e.preventDefault(),IE则是使用e.returnValue...下面这个使用原生js,只会阻止默认行为,不会停止冒泡 <li id...的stopPropagation()方法 e.stopPropagation(); else //否则,我们需要使用IE的方式来取消事件冒泡 window.event.cancelBubble
事件的三个阶段 二、事件处理程序 1、HTML事件处理程序 所谓的HTML事件是指把JS直接写在HTML元素中,比如下面的代码: [程序1] <!...那么可以这样写:event.preventDefault() 2、IE中的事件对象 type:获取事件类型 srcElement:事件目标 cancelBubble=true阻止事件冒泡 returnValue...DOCTYPE html> 事件 <script src="<em>js</em>/event.<em>js</em>...event){ if (event.stopPropagation){ event.stopPropagation(); } else { event.<em>cancelBubble</em>...首先尝试使用 DOM 方法阻止事件流,否则就使用 <em>cancelBubble</em> 属性。
="X-UA-Compatible" content="ie=edge"> <script type="text/javascript" src='vue.min.<em>js</em>...bodyEvent:function() { alert("body"); }, divEvent:function(event) { //event.<em>cancelBubble</em>...> <script type="text/javascript" src='vue.min.js
(2)JS中涉及到DOM对象时,有两个对象最常用:window、doucument。它们俩是最先获取到事件的。...补充一个知识点: 在 js中: 如果想获取 html节点,方法是document.documentElement。 如果想获取 body 节点,方法是:document.body。...阻止冒泡的方法 w3c的方法:(火狐、谷歌、IE11) event.stopPropagation(); IE10以下则是: event.cancelBubble = true 兼容代码如下:...&& event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble...event.stopPropagation(); } else { event.cancelBubble
title> <script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.<em>js</em>...dragging = false; $("#drag")[0].releaseCapture(); e.cancelBubble
currKey=evt.keyCode||evt.which||evt.charCode; if (currKey == 123) { window.event.cancelBubble...= true; window.event.returnValue = false; } } 其他综合屏蔽JS代码 //禁止鼠标右键 document.oncontextmenu...}else if(e.shiftKey && e.keyCode == 121){ //屏蔽Shift+F10,等同于鼠标右键 return false; } } 补充版JS
()方法可以阻止默认行为,阻止打开新窗口;如下代码: HTML:打开新连接 JS...stopPropagation()阻止冒泡事件的话,那么在页面中会先弹出1,然后弹出2,如果使用stopPropagation()方法的话,只会在页面上弹出1,就不会冒泡到body上面去; IE下停止冒泡的话,我们可以使用cancelBubble...如下代码: btn.onclick = function(e){ alert(1); window.event.cancelBubble = true; } document.body.onclick...= function(){ alert(2); } 如果不设置window.event.cancelBubble 为true的话,就会先弹出1,然后弹出2,如果加上的话,就只会弹出1对话框。...if(event.stopPropagation) { event.stopPropagation(); }else { event.cancelBubble
事件对象 包含事件相关的信息,如鼠标、时间、触发的DOM对象等 js默认将事件对象封装好,并自动的以参数的形式,传递给事件处理函数的第1个参数,如下: document.getElementsByTagName...事件的属性和方法 type:获取事件类型(click、mouseover等等) target:获取发生的所在元素(在低版本IE下用srcElement属性) stopPropagation() 阻止事件冒泡(IE用cancelBubble
important;} 最后,添加支持打赏显示和隐藏的js,可以加在post.php靠底部的合适位置(我这里使用了原生js,主要是可能不是所有的模板都用了jquery,那么原生js还是最稳妥的办法):...//取消冒泡 let oevent = event || window.event if (document.all) { oevent.cancelBubble
领取专属 10元无门槛券
手把手带您无忧上云