lll2001200
五花包子
采纳率50%
2015-06-01 07:28 阅读 3.0k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    showbo GoCityPass新加坡曼谷通票 2015-06-01 08: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指向。

    点赞 1 评论 复制链接分享
  • lll2001200 五花包子 2015-08-13 08:53

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

    点赞 评论 复制链接分享

相关推荐