代码之家  ›  专栏  ›  技术社区  ›  Gausie

向每个元素添加额外的单击事件(javascript/jquery)

  •  2
  • Gausie  · 技术社区  · 15 年前

    我正在开发一个触摸屏应用程序,它除了记录所有其他内容外,还记录了使用屏幕的次数,以便提醒用户在单击预定次数后清理屏幕。

    我已经很好地编写了click函数,现在我只需要确保在单击时调用该函数。

    我想象 $('*').click(function() { //do something }); 会实现我的目标,但这是最好的方法吗?此外,是否会覆盖分配给元素的其他单击函数?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Nick Craver    15 年前

    它将添加,而不是重写,但更好的解决方案是:

    $(document).click(function() { 
      //do something
    });
    

    因为单击了气泡,所以只需在文档级别使用一个事件进行监听,而不是在下面的每个元素上创建事件。对于重写部分…您可以添加任意多的处理程序,它们将按照绑定的顺序执行。

        2
  •  1
  •   Alsciende    15 年前

    最好的方法是将事件处理程序分配给 document 本身。事件气泡和文档可以捕获所有事件,同时仍然保留事件的起源。