我强烈怀疑我在移动设备上糟糕的滚动性能是由于滚动的元素触发了大量事件。现在 - 是否有一种方便的方法通常可以防止正在滚动的 DOM 元素内的所有这些事件在滚动完成之前触发?没有 mouseenter、mouseleave、click、focus、active ...什么都没有...直到用户完成滚动?
感谢您的帮助。
最佳答案
您不太可能仅从触发 事件中看到性能问题,否则每个页面都会出现性能问题。这些处理程序中的代码更有可能花费太长时间。
也许你应该debounce或 throttle绑定(bind)它们时的事件处理程序。我相信有提供类似功能的 jQuery 插件可用,或者如果您不想包含该库,您可以查看 underscore 的代码并仅提取您需要的方法。
关于javascript - 防止来自正在滚动的元素的任何 JS 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19662963/