开发者社区> 问答> 正文

js如何实现点击其他任何元素触发某事件的方法?

就比如一个页面中有一个div,点击除页面上该div的任意位置,让div消失。
我现在的做法是给div绑定一个stopPropagation,然后在body上注册让div消失的事件。
但是这种做法的缺点就是,当有多个div都需要点其他位置消失的时候,就无效了,因为所有div都stopPropagation。

展开
收起
a123456678 2016-03-12 11:08:59 3515 0
1 条回答
写回答
取消 提交回答
  • 给一个简单粗暴的方法:
    1、记录所有显示的div。可以使用数组,也可以直接给dom加class,加自定义属性等等。每次用的时候遍历遍历。
    2、考虑二维数组或多个自定义属性来实现给已经显示的div分类。
    大致步骤:
    1、点击某个div,记录他已经显示了。
    2、点击其它某个div的时候,检查记录的已经显示的div,选择是否隐藏他们。之后记录当前div已显示。
    3、点击body的时候,检查所有记录的已经显示的div,隐藏他们。

    步骤1和步骤2其实是一个操作哦。

    2019-07-17 19:00:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载