js中怎样获取鼠标当前点击的标签的值

js中怎样获取鼠标当前点击的标签的值,第1张

documentbodyonclick=function(){

var obj=documentelementFromPoint(eventclientX,eventclientY);

alert(objtagName)

}

IE chrome 兼容,火狐要兼容,我目前所知的办法非常复杂,也没有仔细研究过。

你可以去搜 索下 elementFromPoint这个火狐兼容的办法。

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

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

触发当前事件的源对象,srcElement是IE下的属性,target是Firefox下的属性,Chrome浏览器同时有这两个属性, *** 作方法如下:

1、首先来写一个a链接,来 *** 作a链接的href属性,当然别的属性也可以。

2、接下来就可以用js来获取href这个属性了。

3、然后预览一下,来看看界面上的显示。

4、这样就获取到href这个属性的值了,如果,不需要这个属性了,也可以移除它。

5、最后在预览下,界面如下,就完成了。

var oEvent=ev||event;

这一句这么写是要兼容各个浏览器,

在FireFox浏览器中,事件绑定的函数要获取到事件本身,需要从函数中传入,而IE等浏览器则可以直接使用event或者windowevent得到事件本身。

这一句的用途:需要获取和事件相关的信息时使用。如:

获取键盘按下或d起的按键

获取鼠标的位置坐标

获取出发改事件的元素

获取事件名称

获取事件当前的传播阶段

获取事件生成的日期时间

至于上面这些怎么获取,可补一下js事件方面的相关函数和属性。

例子:

<div id="dd">&nbsp;</div>

o=documentgetElementById("dd");

oonclick=function (ev){

var oEvent=ev||event;

alert(oEventscreenX);

}

    开发中,当执行一个事件时需要去知道触发这个事件的对象是谁?那么,如何获取,在这里我就对 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后再拿到事件中去判断。

谢谢观读~

��

你把getValue()加一个参数会好做一些

改成getValue(this)或getValue(event);

function getValue(ths){

alert(thspreSiblingvalue);

}

或者

function getValue(event){

alert(eventsrcElementpreSiblingvalue);

}

其实第2种IE下面不传入event也是可以的

function getValue(){

alert(eventsrcElementpreSiblingvalue);

}

如果你要兼容FF的话:

function getValue(event){

event = windowevent || event;

var target = eventsrcElement || eventtarget;

alert(target preSiblingvalue);

}

不知道preSibling这个单词有没写错。

兼容浏览器的话,建议使用JQuery

以上就是关于js中怎样获取鼠标当前点击的标签的值全部的内容,包括:js中怎样获取鼠标当前点击的标签的值、Javascript angular2中$event.target有时获取的是当前元素的子元素,这种问题该怎么避免呢、js中,event.srcElement 和event.target是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存