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

如何在Javascript或jQuery中暂时禁用事件

  •  4
  • Tarik  · 技术社区  · 15 年前

    onclick 事件。为了防止方法在执行某些ajax操作时双击,我们可以采用以下方法:

    1. 在方法完成其工作之前解除绑定,然后再次绑定。
    2. 使用像布尔这样的标记系统,这样可以防止方法多次工作。

    那么还有其他的方法吗,也许一些javascript技巧或者jQuery技巧更有效、更实用。

    提前谢谢。

    3 回复  |  直到 15 年前
        1
  •  4
  •   sv_in    15 年前

    onclick 事件,我检查该类是否存在。如果是,就回来。

    除了你所说的,别想别的办法了。

        2
  •  1
  •   James    15 年前

    我认为boolean标志是一个非常优雅的解决方案,您可以通过使用处理程序的属性来保持它的“包含”,如下所示:

    $(someElement).click(myHandler);
    
    function myHandler() {
        if (!myHandler.inProgress) {
            myHandler.inProgress = true;
            // Do stuff
            // Set it back to false later
        }
    }
    
        3
  •  0
  •   Tim Cooper    13 年前

    我想不出比你列出的更“棘手”或“优雅”的解决方案了。