【问题标题】:My datepicker is not working that well我的日期选择器工作不那么好
【发布时间】:2011-08-21 03:20:04
【问题描述】:

嗨,我的友好计算机向导!

我用 jQuery 编写了一个简单的日期选择器,已经完成的包对我来说太重了。我认为一切都很好,直到我注意到奇怪的行为。我最初认为可能是酒精扰乱了我的眼睛和大脑之间的延迟,但是当我醒来后问题仍然存在时,我决定寻求帮助。

当我反复单击箭头之一更改月份时,脚本 开始落后并最终停滞不前。过了一会儿就来了 起死回生。大约前四个或五个月的更改工作 符合预期。

据我所知,我一直在尝试简化 Date() 调用,但无济于事。我是否有某种内存泄漏?

我在这里整理了一个复制问题的示例(完整代码):http://jsfiddle.net/DCfMj/

感谢任何帮助。也可以说我写了非常糟糕的代码,因此我是一袋毫无价值的血。像这样的建设性批评可以塑造性格。

【问题讨论】:

  • 为什么不在 CSS 中使用 :hover
  • ID 不能以数字开头。请改用其他属性。
  • 因为它是一个巨大的图书馆,我想完全控制每一个方面。这是一个负载疯狂的网站,每保存一个 kb 就很有价值。不使用 :hover 只是缺乏知识。
  • 这不是不使用 jQuery UI 的好理由。您可以从 Google 的 CDN 加载它以实现零带宽。
  • 显然我对不止一件事一无所知。我可能会朝那个方向走,但我仍然对我做错了什么感兴趣。

标签: javascript jquery performance memory-leaks datepicker


【解决方案1】:

每次调用 $(...).datepicker 时,都会添加另一个 click 处理程序。

最终,运行所有这些处理程序开始需要很长时间。

【讨论】:

  • 有道理,我可以在每个事件之后以某种方式取消绑定处理程序,还是以其他方式调用它更明智?
  • 您可以调用die(),也可以只添加一次处理程序。
  • 谢谢,我只是将函数移到 datepicker() 函数之外。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
  • 1970-01-01
  • 2017-12-24
  • 2016-06-27
  • 1970-01-01
相关资源
最近更新 更多