https://blog.csdn.net/wkyseo/article/details/51863483 target在事件流的目标阶段;currentTarget在事件流的捕获,目标及冒泡阶段...只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(注册该事件的对象)(一般为父级)。...this指向永远和currentTarget指向一致(只考虑this的普通函数调用)。...事件流:捕获(自顶而下)——目标阶段——冒泡(自下而顶) 在事件处理程序内部,对象this始终等于currentTarget的值(换个角度理解,DOM上的方法this指向都为该DOM-方法调用模式),而...如果直接将事件处理程序指定给了目标元素,则this、currentTarget和target包含相同的值。
在小程序中,e.target与e.currentTarget是非常重要的,尤其是涉及到页面传值时 currentTarget和target都是组件的一些属性值集合,由“data-属性名”定义的一些属性值...currentTarget:事件触发的当前事件(当前事件,可能是触发事件的源组件,可能是触发的事件组件(即触发事件源组件的子元素),此时点击子元素还是父元素,都是当前事件,应用e.currentTarget...;currentTarget则是绑定事件的该组件(父元素)的属性值集合。...给子元素绑定一个事件:childClick,打印出来的currentTarget和target就是一样的。...",e.currentTarget)//target:{child:"子元素"} } 扩展 结合this来看: this === e.currentTarget 总是为true this === e.target
event.target 和 event.currentTarget 的区别 举例说明: function logTarget(e) { console.log('target:' + e.target.id + ' & currentTarget...:' + e.currentTarget.id); } document.getElementById('a').addEventListener('click', logTarget...:d target:d & currentTarget:c target:d & currentTarget:b target:d & currentTarget:a 当点击b的时候,输出: target...:b & currentTarget:b target:b & currentTarget:a 结论 target始终鼠标点击的element,固定不变; currentTarget在事件捕获或者事件冒泡过程中
本文首发于微信公众号:"算法与编程之美" 前言 event.target事件和event.currentTarget事件,经常被人们混淆。因为它们两个有时候的返回值是完全一样的,因此很具有迷惑性。...定义 Event.target:返回触发事件的元素; Event.currentTarget:返回绑定事件的元素。...div内的这个超链接时,这个被我们点击的a标签就是触发事件的标签了,也就是event.target;而整个点击事件是绑定在div上的,所以不管点击了哪里,这个div都是事件的发起者,即就是event.currentTarget
点击内层view触发点击事件并且发生事件冒泡,外层view也会触发点击事件,打印结果如图所示 通过id可以看出来这两个属性的区别 currentTarget属性为触发事件的元素,target属性为产生事件的元素
可以看到, target 是 #C,currenttarget 是 #A,delegateTarget 是 #A 也就是说: target 是触发 click 事件的对象 #C,currenttarget...可以看到, target 是 #C,currenttarget 是 #C,而不是 #A,delegateTarget 是 #A 也就是说: target 是触发 click 事件的对象 #C,currenttarget...可以看到, target 是 #C,currenttarget 是 #C,而不是 #A,delegateTarget 是 #A ② C 被点击了 target 是 #C,currenttarget 是...[i]时,event.currenttarget最终被#A所覆盖 while ( ( matched = handlerQueue[ i++ ] ) && !...event.isPropagationStopped(),所以event.currentTarget=#C,未被#A覆盖。----
e.currentTarget.firstElementChild # 获得点击元素的下一个元素 e.currentTarget.nextElementSibling...string属性 e.currentTarget.getAttributeNode('string') # 获得点击元素的父级元素 e.currentTarget.parentElement...$children // e 指向当前元素,可以通过 $event传递 e.target 是你当前点击的元素 e.currentTarget 是你绑定事件的元素 e.currentTarget.previousElementSibling.innerHTML...获得点击元素的前一个元素 e.currentTarget.firstElementChild 获得点击元素的第一个子元素 e.currentTarget.nextElementSibling... 获得点击元素的下一个元素 e.currentTarget.getElementById("string") 获得点击元素中id为string的元素 e.currentTarget.getAttributeNode
currentTarget 同样的,你可以使用event对象上的currentTarget属性。 在元素上设置onClick属性。...= 'salmon'; event.currentTarget.style.color = 'white'; event.currentTarget.classList.add('my-class...) { event.currentTarget.style.backgroundColor = null; event.currentTarget.style.color = null...; } else { event.currentTarget.style.backgroundColor = 'salmon'; event.currentTarget.style.color...// ️ add class event.currentTarget.classList.add('my-class-1', 'my-class-2'); // ️ remove class event.currentTarget.classList.remove
这样就需要进行传参: 关键词: $event 在括号中输入这个关键词,然后在方法中就可以使用以下的方法去获取你当前所需要使用的元素 //当前点击的元素 e.target //是你绑定事件的元素 e.currentTarget...//获得点击元素的前一个元素 e.currentTarget.previousElementSibling.innerHTML //获得点击元素的第一个子元素 e.currentTarget.firstElementChild...//获得点击元素的下一个元素 e.currentTarget.nextElementSibling //获得点击元素中id为string的元素 e.currentTarget.getElementById...("string") //获得点击元素的string属性 e.currentTarget.getAttributeNode('string') //获得点击元素的父级元素 e.currentTarget.parentElement...//获得点击元素的前一个元素的第一个子元素的HTML值 e.currentTarget.previousElementSibling.firstElementChild.innerHTML 使用方法
: ' + e.currentTarget + '@' + new Date().getTime()); } 当addEventListener的最后一个参数为false的时候,为冒泡模式...e) { e.preventDefault();// 可以阻止document的滚动发生 e.stopPropagation();// 可以阻止冒泡 console.log('currentTarget...: ' + e.currentTarget + '@' + new Date().getTime()); } 结果也是TouchEvent可以阻止冒泡的。...而DIV的滚动,则是发生在某个div上面,需要通过currentTarget.scrollTop来获得 document.getElementById('container').addEventListener...); console.log('div scrollTop:' + e.currentTarget.scrollTop); }
res.data, }) } }) }, 跳转详情页方法 viewDetail: function(e) { let newsid = e.currentTarget.dataset.id...|| ”; let newsTitle = e.currentTarget.dataset.newstitle || ”; let newsAuthor = e.currentTarget.dataset.newsauthor...|| ”; let newsDescription = e.currentTarget.dataset.newsdescription || ”; let newsCreateTime...= e.currentTarget.dataset.newscreatetime || ”; let newsContentText = e.currentTarget.dataset.newscontenttext...|| ”; let newsInfoSource = e.currentTarget.dataset.newsinfosource || ”;//你想传递的值 //放入缓存 wx.setStorage
使用event.currentTarget访问DOM元素。 使用classList.add() 或者 classList.remove() 方法。 import '....// ️ remove class on click // event.currentTarget.classList.remove('bg-salmon'); }; return (...我们可以通过event对象上的currentTarget属性访问元素。 event上的currentTarget属性让我们可以访问事件监听器所连接的元素。...event.currentTarget.classList.toggle('bg-salmon'); classList.toggle方法从元素中移除一个现有的类,如果该类存在的话。...event.currentTarget.classList.remove( 'bg-salmon', 'my-class-2', 'my-class-3', ); 如果元素上不存在指定的类
currentTarget:返回其事件监听器触发该事件的元素。 eventPhase:返回事件传播的当前阶段。 target:返回触发此事件的元素(事件的目标节点)。...currentTarget:currentTarget 事件属性返回其监听器触发事件的节点,即当前处理该事件的元素、文档或窗口。...三.其中常用的currentTarget,target currentTarget:返回其监听器触发事件的节点,就是你的点击事件绑定在哪一个元素上 arget:返回事件的目标节点(触发该事件的节点),就是你当前点击的是哪一个元素
// 需要获取input里面的值 currentTarget.previousElementSibling 的意思表示为获取当前标签的上一个标签...methods: { clickfun(e) { // e.target 是你当前点击的元素 // e.currentTarget 是你绑定事件的元素 #获得点击元素的前一个元素 e.currentTarget.previousElementSibling.innerHTML...#获得点击元素的第一个子元素 e.currentTarget.firstElementChild # 获得点击元素的下一个元素 e.currentTarget.nextElementSibling...# 获得点击元素中id为string的元素 e.currentTarget.getElementById("string") # 获得点击元素的string属性 e.currentTarget.getAttributeNode...('string') # 获得点击元素的父级元素 e.currentTarget.parentElement # 获得点击元素的前一个元素的第一个子元素的HTML值 e.currentTarget.previousElementSibling.firstElementChild.innerHTML
} private function onBar(e:Event):void { var v:Number = e.currentTarget.value...(Event.SELECT, onSelect); e.currentTarget.addEventListener(Event.COMPLETE, onComplete);...e.currentTarget.addEventListener(Event.OPEN, function(e:Event):void { } ); e.currentTarget.load...loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderOnComplete); loader.loadBytes(e.currentTarget.data..., HEIGHT/e.currentTarget.loader.height); btmap.draw(e.currentTarget.loader, new Matrix(scale
所以我现在都改成 2rpx 绑定事件获取的target与currentTarget是有区别的 在绑定事件获取当前组件数据的时候,拿到的envt里面有target和currentTarget 这两个玩意儿里面都有一个...正确的我们应该取 currentTarget 里面的就行,但是有时候这两个的数据是完全一样的,一不小心你就取错了。...那这个 target 和 currentTarget 有什么区别呢,官方的解释: target:触发事件的源组件; currentTarget:事件绑定的当前组件; 看个例子: <view id="outer...都是 inner,而 handleTap2 收到的事件对象 target 就是 inner,<em>currentTarget</em> 就是 middle。...其实很容易区分,target就是事件开始的地方,<em>currentTarget</em>就是你绑定事件的地方。 CSS引用静态资源问题 iconfont, 图片不能通过css,哦~应该该叫 wxss 本地引入。
e) { console.log( 'target:' + e.target.id + '¤tTarget:' + e.currentTarget.id )...e) { console.log( 'target:' + e.target.id + '¤tTarget:' + e.currentTarget.id )...当我们点击最里层的元素d的时候,会依次输出: target:d¤tTarget:d target:d¤tTarget:c target:d¤tTarget:b target...:d¤tTarget:a 从输出中我们可以看到,event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素,只有被点击的那个目标元素的event.target...才会等于event.currentTarget。
如果target属性在你的方案中指的是一个子元素,而你需要访问事件监听器所连接的元素,只需用currentTarget替换target。...const handleClick = event => { console.log(event.currentTarget.dataset); // ️ "my-btn" console.log...(event.currentTarget.getAttribute('data-test-id')); // ️ set attribute event.currentTarget.setAttribute...('data-foo', 'bar'); console.log(event.currentTarget.getAttribute('data-foo')); // ️ bar event.currentTarget.setAttribute...('data-foo', 'baz'); console.log(event.currentTarget.getAttribute('data-foo')); // ️ baz }; useRef
, res.currentTarget.dataset.name); console.log(res.currentTarget.dataset.index, res.currentTarget.dataset.id..., deviceId: res.currentTarget.dataset.id }); }, // index-serch //滑动效果 touchS: function..."left:-" + btnWidth + "px" : "left:0px"; //获取手指触摸的是哪一项 var index = e.currentTarget.dataset.index...deviceId=' + e.currentTarget.dataset.id }) }, //显示车辆状态 carState: function (e) { wx.navigateTo...carNum=' + e.currentTarget.dataset.car }) }, });
领取专属 10元无门槛券
手把手带您无忧上云