Javascript angular2中$event.target有时获取的是当前元素的子元素,这种问题该怎么避免呢

Javascript angular2中$event.target有时获取的是当前元素的子元素,这种问题该怎么避免呢,第1张

这就是事件冒泡,当一个元素触发事件后,会逐层上报给父元素、祖父元素……乃至document,也就是说这些元素都会同时触发事件。这种情况下,eventtarget就是指最初触发事件的那个子元素(就比如你题目中的img),而eventcurrentTarget才是被冒泡后触发事件的当前元素(比如li)。这也就意味着,当你点击li时,如果点到的是子元素img,则eventtarget就是img,而eventcurrentTarget则是li,而当你点到的是li里面除img之外的其他部分时,eventtarget和eventcurrentTarget都是li

所以,现在你知道该怎么做啦?就是不要使用eventtarget,改用eventcurrentTarget

废话不多说上代码:

    HANDLE  ha = CreateEvent(NULL,TRUE,TRUE,NULL);

    DWORD dw = WaitForSingleObject(ha,0);

    if (dw==WAIT_TIMEOUT)

    {

        //没有触发

        printf("");

    }

    else if (dw==WAIT_OBJECT_0 )

    {

        //已经触发

        printf("");

    }

解释:

WaitForSingleObject()函数有查询作用。第二个参数为0即,等待时间为0,当查询结果后立即返回。

    开发中,当执行一个事件时需要去知道触发这个事件的对象是谁?那么,如何获取,在这里我就对 eventsrcElement与eventtarget *** 作获取略作区分 。

eventsrcElement: 表示可以获取当前作用事件的对象。

eventtarget: 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。

兼容性:

eventtarget: Ie9+ 火狐、谷歌;

eventsrcElement:ie 678;

srcElement 是 IE 下的属性

target 是 Firefox 下的属性

Chrome 浏览器同时有这两个属性

一、利用eventsrcElement 获取标签:

eventsrcElementtagName :因为它获取出来的都是以 大写 的形式,例如(“A”,“DIV”)所以需要转换 objtagNametoLowerCase()="a"

二、 利用eventsrcElement 获取子对象:

第一个子标签 :eventsrcElementfirstChild;

最后个一个是: eventsrcElementlastChild;

第几个孩子: eventsrcElementchildren[i];

所有孩子: eventsrcElementchildren;

所有孩子节点: eventsrcElementchildNodes;

三、利用eventsrcElement 获取父对象:

eventsrcElementparentElement; 可以理解成是在鼠标所在对象的上一个对象。

四、venttarget的 判断使用  

 js中事件是会泡的,eventtarget它永远是直接接受事件的目标DOM元素  

一般是获取这个对象的id,兼容的写法如下:

var targetId = eventtarget eventtargetid : eventsrcElementid;

获取id后再拿到事件中去判断。

谢谢观读~

��

Vuejs官方 :有时也需要在内联语句处理器中访问原始的 DOM 事件。可以用特殊变量 $event 把它传入方法。

>

将even(事件)作为参数,就是这个“点击”事件,通过这个even,可以获取到eventtarget,就是点击的对象等等属性。PS:那个even参数可加可不加,需要用到的时候就加。

<body onmousedown="whichButton(event)"><p>请在文档中点击鼠标。一个消息框会提示出您点击了哪个鼠标按键。

防水材料:

eVENT防水透气面料技术说明

eVENT防水纺织品技术通过经久耐用的表膜来排放汗液蒸气, 使您的鞋子的内部保持干燥,让您获得清爽的接触感觉。

eVENT独有的“直接透气”特性所具备的透气性可达其最强竞争对手产品透气性的两倍,并且100%防水。HI-TEC海泰客户外装备便是专注于eVENT防水面料的户外装备厂商。

百度百科-event (防水材料及计算机专业术语)

以上就是关于Javascript angular2中$event.target有时获取的是当前元素的子元素,这种问题该怎么避免呢全部的内容,包括:Javascript angular2中$event.target有时获取的是当前元素的子元素,这种问题该怎么避免呢、如何从CreateEvent得到的HANDLE来获取Event的信号状态、JS轻松获取对象之srcElement与target篇等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9480556.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存