【问题标题】:Add handler multiple times in jquery在 jquery 中多次添加处理程序
【发布时间】:2010-04-06 13:33:51
【问题描述】:

jquery 在多次分配同一个处理程序时如何处理事件分配?假设我有

<div class="draggable">Some Text</div>

多次调用以下命令是否有任何副作用(性能或其他方面)?

$('.draggable').draggable();

【问题讨论】:

  • 我认为这取决于draggable() 的实现,它不是事件处理程序。
  • 你试过了吗?我认为这取决于draggable() 是如何实现的,但可以肯定的是,您必须调用一个事件侦听器还是一百个事件侦听器。
  • 这将取决于自定义代码的实现。事实上,没有必要以这样的方式实现它,它在同一个 DOM 元素上多次调用draggable(),除了懒惰。
  • 有趣的巧合:也许你对这个问题的答案感兴趣:stackoverflow.com/questions/2585211/…(在你的问题之后几分钟才出现)以避免多次调用draggable()

标签: jquery


【解决方案1】:

如果你多次绑定一个像'keydown'这样的事件到一个元素,它会被附加到 事件处理程序队列。 所以你可以算一下,调用的处理程序越多,它的执行速度就越慢。

【讨论】:

    猜你喜欢
    • 2012-03-30
    • 2011-07-03
    • 2011-01-15
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    相关资源
    最近更新 更多