2 lll2001200 lll2001200 于 2015.06.01 15:28 提问

关于js中获取dom元素的事件(引用)的问题

在网页上显示楼层平面图(类似地图的那种),有两个容器A和B,A装着20个表示楼层里的商店的DOM元素(简称商店),B容器装着商店的名字(简称名字)。商店写
了单击事件(点击高亮效果)。并且有一个方法(f1)生成商店的名字(传入商店对象,返回名字对象),页面初始化时会遍历所有的商店生成名字。
现在问题是点击名字的时候没有触发名字下面 商店的单击事件,原因很简单,商店被名字挡住了。我想的解决方法是在f1的代码里获得商店对象的单击事件,然后赋给名字,
实现点击名字也有商店高亮效果。现在的问题就是该如何获取商店对象的单击事件?并把它复制给名字对象的单击事件?
PS:在名字对象的单击事件里调用商店的单击事件也能解决问题,但是总觉得差了写

2个回答

showbo
showbo   Ds   Rxr 2015.06.01 16:40
已采纳

你是怎么绑定事件的?用jquery还是原始的js?

你的商店和名字id起规则一点,有对应关系就好了,如shop_1,name_1依次类推

点击name的时候通过 obj.id得到name的id,然后通过将name换为shop就得到shop的id了。。然后传入shop对象触发f1事件

如果是jquery直接$('#'+nameobj.id.replace('name','shop').trigger('click')

存js就用 document.getElementById(nameobj.id.replace('name','shop').onclick()或者f1.apply(document.getElementById(nameobj.id.replace('name','shop'))更改f1中的this指向。

lll2001200
lll2001200   2015.08.13 16:53

最后还是用类似的方法解决了

Csdn user default icon
上传中...
上传图片
插入图片