【问题标题】:Hover-to-click on jQuery UI datePicker 'next month' and 'prev month' not working悬停单击 jQuery UI datePicker '下个月' 和 '上个月' 不起作用
【发布时间】:2010-06-01 19:19:52
【问题描述】:

我有一个看起来很像 Outlook 中的日历的日历。有一个代表一天中小时的大字段,还有一个日期导航器。导航器是 jQuery UI Datepicker。

我希望用户能够通过单击日期选择器中的日期来导航到新的一天,而且还能够将约会拖到日期选择器上并将它们放在特定日期。我现在有这个工作。

我还希望用户在拖动约会时,只需将鼠标悬停在日期选择器上即可移至下个月或上个月。所以我添加了一个 mouseenter 和 mouseleave 事件:一个运行 setInterval 函数,它每 1.5 秒发送一次点击;另一个取消区间函数。

这是各种事情出错的地方。一旦触发了一次点击,mouseleave 功能就不再起作用:换句话说,日期选择器每隔 1.5 秒就会不断翻转到另一个月份。

似乎是 datePicker 干扰,或者 click 事件导致其他事情出错。我能做什么?

【问题讨论】:

    标签: jquery-ui datepicker click triggers


    【解决方案1】:

    听起来您的事件侦听器已被 jQuery-UI Datepicker 状态覆盖。如果您查看日期选择器的来源,则每次更改状态时都会重新声明其事件侦听器。这就是我可以说的所有内容,而无需查看您的来源。

    发布您的来源,我会尽力为您修复它。可能需要对 Datepicker 进行猴子修补。

    【讨论】:

    • 您好罗伯特,感谢您的回答。我发现了问题的另一个根源:我在 .load() 函数中调用了所有这些东西。不知何故,这会干扰 mouseenter 和 mouseleave 事件,使它们不可靠(mouseleave 甚至比 mouseenter 还要多)。把它全部从加载函数中解决了这个问题。至少当我还复制了 Datepicker 用于转到 Prev 和 Next month 的代码并直接在我的代码中使用它时,它确实如此。再次感谢您的帮助。
    猜你喜欢
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多