【发布时间】: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