JS轻松获取对象之srcElement与target篇

JS轻松获取对象之srcElement与target篇,第1张

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

谢谢观读~

��

jQuery通过name获取对象的方法是:

使用jQuery获取name="nw"的input对象:$('input[name="nw"]');

使用$('input[name="nw"]')val()方法或$('input[name="nw"]')html()方法来获取其值。

和JavaScript获取对象值一样,input、select、textarea等表单类对象用val()方法来获取其值;div、span等对象用html()获取其值,如:$('input[name="nw"]')val();

设置对象的值,如:$('input[name="nw"]')val('123');

注意:

1通过name获取对象值,获取的是第1个对象的值。name是可以重复的。

2通过name设置对象值,设置的是所有对象的值。

for(var i=0;i<objlength;i++){if(obj[i]className == 'a')//找出span标记中class=a的那个标记{var getObj = obj[i];value = getObjinnerHTML;//获得他的innerHTML}}//或者通过Jquery,ext,等JS插件来处理也可以。。。

documentgetElementById(ID) //获得指定ID值的对象 

documentgetElementsByName(Name) //获得指定Name值的对象数组 documentgetElementsByClassName(Class) //获得指定Class值的对象数组 documentgetElementsByTagName (body)//获得指定标签值的对象数组

详细内容参考下面的链接

HTML DOM Document 对象

var a={a:123,b:"string"}

  var b = "{a:123,b:'string'}";

  consolelog(a);

  consolelog(b);

  alert(a);

  alert(b);

//我猜的情况:   接口返回给你前端的数据是字符串,而不是object。

//1 试着将字符串转成object,推荐转成json 对象。

//2 和后端协商>

网页链接

有点异想天开了。

C#提供了两个获取大小的方法:

1使用sizeof运算符。但sizeof只有对int,byte等预定义值类型有效。

2使用SystemRuntimeInteropServicesMarshalSizeOf静态方法。此方法对任何值类型的实例有效。

除此之外,引用类型的内存是分配在堆上面的,不管是C,C++还是C#,好像都只能在堆上面实例化对象,删除对象。尤其是C#,连实例化/删除对象都有人代劳了。

如果你在堆上有你需要的信息,并且要把这段信息写入到磁盘等设备时,这时你需要对这个对象进行拆箱处理。这时你才获取到你拆箱后的对象实例的大小。

var eventOjb;

windowdocumentonmousemove=function(event){

//event在FF下是不是全局对象,所以得用全局事件引出

var evt= event || windowevent;

eventOjb = evttarget || evtsrcElement; // 获得事件源,FF与IE不同

}

我现在需要在一个方法中,通过 kk 这个字符串获取到kk 这个对象------解决方案--------------------------------------------------------你想通过字符串获得该 实例 的对象--这个估计不杂可能,只能传递或序列化保存还是只是该类型的对象--这个就是用反射using SystemReflection新建对象:object obj = TypeGetType( 类 名 + , + 名 称 空 间 )InvokeMember(null,BindingFlagsCreateInstance |BindingFlagsInstance | BindingFlagsPublic, null,null, null);若还需要查找方法并执行MethodInfo mi=objGetType()GetMethod( 方法名 );miInvoke(obj,null);//无参数执行miInvoke(obj,new object[] { 参数1,参数2 });//有参数------解决方案--------------------------------------------------------没有办法获得,变量名在编译后就没有了。再者说了,局部变量名在方法外就没有意义了。如果你定义了两个方法,里面各有一个同名

以上就是关于JS轻松获取对象之srcElement与target篇全部的内容,包括:JS轻松获取对象之srcElement与target篇、jquery怎么用name获取对象、js 如何根据class获取对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9299658.html

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

发表评论

登录后才能评论

评论列表(0条)

保存