【问题标题】:ng-fullcalendar eventClick timeStamp not giving correct timeStamp errorng-fullcalendar eventClick timeStamp没有给出正确的timeStamp错误
【发布时间】:2018-08-02 02:48:48
【问题描述】:

嗨,在我的 Angular 6 应用程序中,我使用的是 ng-fullcalendar。 单击 fullCalendar 事件时,我需要获取时间段。当我调用 eventClick 函数时,它会给出一个时间戳值,当我使用时刻将此 unix 时间戳转换为日期时,它总是给出 01/01/1970 09:34。

我的模板是

<ng-fullcalendar #ucCalendar [options]="calendarOptions" (eventClick)="eventClick($event.detail, $event)"></ng-fullcalendar>

和我的 TypeScript 函数

 eventClick(model: any, event: MouseEvent) {
     console.log(event.timeStamp);  // giving 293128.0999999726
     console.log('moment  date is : ' + moment(event.timeStamp).format('DD/MM/YYYY HH:mm'));
 }

谁能告诉我为什么这个 MouseEvent.timestamp 给出了错误的时间戳。

谢谢

我使用了 jQuery mouseover 监听器,它工作正常,但我仍然无法获取特定 td 的 ID、类名属性。

   let element1 = $(document).on('.fc-minor');
   element1.on(' mouseover', function(event: ElementRef) {
        let va = element1.attr('class');
        let eeee = element1.attr('id');
        console.log('va is: ' + va );
        console.log('eeee is: ' + eeee );
   });

鼠标悬停运行良好,但控制台日志打印未定义

【问题讨论】:

  • 您正在查看的时间戳(如果相关事件支持 - 并非全部支持,这里看起来可能就是这种情况)是生成 JavaScript 点击事件的时间 - 即单击事件的时间 - 相对于在浏览器中创建 HTML 文档的时间。见developer.mozilla.org/en-US/docs/Web/API/Event/timeStamp。这与您的日历事件无关。
  • 不幸的是,无论如何,在 fullCalendar 中都无法获得在事件中点击的确切时间段。您实际上想要实现什么需要这些信息?也许还有另一种方式
  • 嗨@ADyson 感谢您提供信息。我想知道我们每小时服务多少客户。因此,根据时间段事件单击,我将在我的模板中更新该客户计数。
  • 不确定我是否遵循您的逻辑。您将什么归类为“服务”客户?如果他们只是点击您日历中的某个时间就足够了吗?或者他们是否需要实际做一些事情,比如购买产品或预约?客户点击某些现有事件的原因是什么?我不太清楚您的业务流程。
  • @ADyson 在日历上方我有一个表格,其中显示了在所选时间之间服务的客户数量。

标签: javascript timestamp fullcalendar momentjs angular6


【解决方案1】:

时间戳不起作用,因为它返回的值是错误的。使用dayClick 事件获取包含所有详细信息的日期:

dayClick: function(date, jsEvent, view, resource) {
      alert('clicked ' + date.format());
}

这是我分叉的演示链接: https://stackblitz.com/edit/ng-fullcalendar-demo-vm394f

【讨论】:

  • 感谢 dayClick,但我需要 eventClick 的 ng-reflect-selected-timeslot 值。我的活动有 4 个小时,我正好需要那个时间。
  • 我检查了 eventClick 但没有关于特定日期的信息。
  • (dayClick) 仅在我们点击 day 和 (eventClick) on event 时触发,所以我不能使用 dayClick 值。
  • “时间戳不起作用,因为它返回的值是错误的”......这是一个重言式。 OP 询问 为什么 它返回一个意外的值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-24
  • 1970-01-01
  • 2014-03-16
  • 1970-01-01
  • 2015-05-02
  • 1970-01-01
  • 2019-12-08
相关资源
最近更新 更多