html,js,output 参考文档:http://developer.mozilla.org/en-US/docs/Web/API/Event/stopImmediatePropagation 为何阻止事件冒泡可能会是错误的...) alert('p') },true) m.addEventListener('click',function(e){ alert(e.eventPhase) alert('m') },...c.addEventListener('click',function(e){ alert(e.eventPhase) alert('c') }) 结果:1,m,2,c,3,p。...html,js,output,在案例里来回切换一下true 再对照上图理解。 第三个参数并不一定要是一个对象,是一个 boolean 值 true 也行。...冒泡 通过 event.eventPhase 可以确定我们所处的阶段或在哪个事件处理程序中。
<script src="common.<em>js</em>...3、事件的三个阶段 事件捕获阶段(从外向内) ===> 阶段 1 事件目标阶段(最开始触发事件的目标)===> 阶段 2 事件冒泡阶段(从里向外) ===> 阶段 3 通过事件处理参数对象 e.<em>eventPhase</em>...my$("dv1").addEventListener("click", function(e) { console.log(this.id +" --- "+ e.eventPhase...my$("dv2").addEventListener("click", function(e) { console.log(this.id +" --- "+ e.eventPhase...my$("dv3").addEventListener("click", function(e) { console.log(this.id +" --- "+ e.eventPhase
// alert("event.currentTarget is "+event.currentTarget+" event.type is "+event.type+" event.eventPhase...is "+event.eventPhase+"eventPhase等于3是冒泡阶段不是capture阶段"); /*Event.CAPTURING_PHASE 1 Event.AT_TARGET...Event.BUBBLING_PHASE*/ sss2.innerHTML += " event.type is "+event.type+" event.eventPhase...is "+event.eventPhase+"eventPhase等于3是冒泡阶段不是capture阶段"+" document click "; 更多请见:https://blog.csdn.net
; alert("click处于"+eventPhase[index-1]);//捕获阶段 1 },true); btn.addEventListener("click",function(event...){ var index=event.eventPhase; alert("click处于"+eventPhase[index-1]);//目标阶段 2 },true); document.body.addEventListener...("click",function(event){ var index=event.eventPhase; alert("click处于"+eventPhase[index-1]);//...问题二:根据上面的3个例子事件处理程序的在哪个阶段被处理,那么eventPhase不就是它在哪个阶段被处理的结果? 问题三:不同阶段处理事件,会有什么不同?有具体的例子吗?...李力: 问题一: document.body.addEventListener("click", function(event){ alert(event.eventPhase);
=2] //onAddedToStage: [Event type="addedToStage" bubbles=false cancelable=false eventPhase=2] var _sub...Sprite(); _container.addChild(_sub); //onAdded: [Event type="added" bubbles=true cancelable=false eventPhase...=3]*/ removeChild(_container); //onRemoved: [Event type="removed" bubbles=true cancelable=false eventPhase...=2] //onRemovedFromStage: [Event type="removedFromStage" bubbles=false cancelable=false eventPhase=2]..._container.removeChild(_sub); //onRemoved: [Event type="removed" bubbles=true cancelable=false eventPhase
Element 只读 事件处理程序正在处理的那个元素 defaultPrevented Boolean 只读 是否已经调用了preventDefault方法 detail Integer 只读 事件的细节信息 eventPhase...1 document.getElementById("hh").onclick=function(event){ 2 console.log(event.eventPhase...} 5 document.body.onclick=function(event){ 6 console.log(event.eventPhase...document.body.addEventListener("click",function(event){ 9 console.log(event.eventPhase...{ 2 event.returnValue=false; 3 }); 跨浏览器的事件对象 虽然DOM与IE的event对象不同,但是可以通过js
CAPTURING_PHASE,即捕获阶段 AT_TARGET,即目标阶段 BUBBLING_PHASE,即冒泡阶段 我们可通过事件对象的 eventPhase 属性,得知事件处于哪个阶段。...eventPhase 为一个正整数,其定义可在 Event interface 查阅到。...}, true); // list 的冒泡 $list.addEventListener('click', (e) => { console.log('list bubbling', e.eventPhase...原因是当事件传递到 target 时,不管 addEventListner 的 useCapture 是 true 和 false ,e.eventPhase 均为 AT_TARGET ,自然就没有捕获与冒泡的区别...我们来看一个范例: // list 的冒泡 $list.addEventListener('click', (e) => { console.log('list bubbling', e.eventPhase
事件机制的3个阶段 Event有一个属性:eventPhase,可以为以下3个值: 捕获阶段 (EventPhase.CAPTURING_PHASE)。...目标阶段 (EventPhase.AT_TARGET)。 冒泡阶段 (EventPhase.BUBBLING_PHASE)。
是否能取消事件的默认行为 currentTarget Element 当前事件处理程序正在处理的元素 defaultPrevented Boolean 为 true 表示调用了 preventDefault() eventPhase...否则通过html元素直接绑定的方式this指向了 window 对象 eventPhase 和 stopPropagation eventPhase 可以知道事件执行时处于哪个阶段 stopPropagation...event.currentTarget); } function son(event) { console.log(event.target, event.currentTarget, event.eventPhase...外部文件 let js = document.createElement('script'); js.addEventListener('load', function(event) { console.log..., '页面加载完毕,开始加载js'); js.src = `.
这里就省略代码了 事件三个阶段 1.事件一共有三个阶段:事件的执行顺序 1--捕获阶段 : 2--目标阶段 : 3--冒泡阶段 : 2.事件对象.eventPhase 可以获得触发这个事件时,到底是哪个阶段...并且优先执行 document.body.addEventListener("click", function (e) { alert("哈哈,我是body"+ e.eventPhase..."+ e.eventPhase); },false); btn.addEventListener("click",function (e) { alert("哈哈哈..."+ e.eventPhase); },false); son.addEventListener("click",function (e) { alert("嘻嘻嘻...,我是绿色的盒子son"+ e.eventPhase); },false); 事件类型e.type和事件源e.target <input type="button" value
id="btnReject">cont阻止捕获或冒泡 层级关系:body->wrap->cont->button,可以对照上面的原理 Js...$dom = $($dom); $log.html($log.html() + $dom.attr('class') + '[' + ePhase[event.eventPhase
传入focus directive的事件:KeyboardEvent code为Enter currentTarget: cx-table.vertical eventPhase: 3 key: Enter
); // 2,目标阶段 }; document.body.addEventListener("click", function(event){ alert(event.eventPhase...); // 1,捕获阶段 }, true); document.body.onclick = function(event){ alert(event.eventPhase); //...event.stopPropagation(); }; document.body.addEventListener("click", function(event){ alert(event.eventPhase...); // 1,捕获阶段 }, true); document.body.onclick = function(event){ alert(event.eventPhase); //...EventUtil.addHandler(script, "load", function(){ alert("script加载完成"); }); script.src = "EventUtil.js
问:点击Li,JS的执行顺序是什么? ?...在一个事件完成了所有阶段的传播路径后,它的Event.currentTarget会被设置为null并且Event.eventPhase会被设为0。
eventPhase:返回事件传播的当前阶段。 target:返回触发此事件的元素(事件的目标节点)。 timeStamp:返回事件生成的日期和时间。
4.2 事件对象中的常用属性及方法 4.2.1属性 event.bubbles:属性返回一个布尔值,表示当前事件是否会冒泡; event.eventPhase:返回一个整数值,表示事件流在传播阶段的位置...function(e){ //当前事件是否会冒泡 console.log(e.bubbles); //事件目前所处的节点 console.log(e.eventPhase
attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase.../js/jquery.validate.js" type="text/javascript"> 具体看查JQValidate.txt 提交表单插件 (eval(data.replace(/\/Date(\d+)\//gi, "new.../js/jquery.easyui.min.js" type="text/javascript"> $(json.add.divid).dialog({
boolean bubbles boolean cancelable DOMEventTarget currentTarget boolean defaultPrevented number eventPhase...有备胎的感觉真好:-) ---- 往期精选文章 ES6中一些超级好用的内置方法 浅谈web自适应 使用Three.js制作酷炫无比的无穷隧道特效 一个治愈JavaScript疲劳的学习计划 全栈工程师技能大全
还是在ajax的过程中调用这个对象的属性 发现属性的值并不会随着cookie的变化而变话 还是保持老值
领取专属 10元无门槛券
手把手带您无忧上云