如何使用yii2fullcalendar处理长按事件

时间:2016-12-21 15:19:27

标签: javascript yii2 fullcalendar

我将yii2fullcalendar用于我的网站。

在移动设备上," dayClick"虽然我们只是想向下滚动屏幕,但事件被触发了。

如何更改" dayClick"一天双击事件?

更新 实际上,我想避免在移动设备上使用不方便。所以,如果我们可以设置一个长按"那么它会更好。参数而不是找到改变的方式" dayClick"一天双击事件。

这是我的view.php

while(a != 7 || b != 7)
{
     Console.WriteLine("add number:");
     a = int.Parse(Console.ReadLine());
     Console.WriteLine("add number:");
     b = int.Parse(Console.ReadLine());
}
Console.WriteLine("end");

谢谢。

2 个答案:

答案 0 :(得分:1)

您应该能够使用以下算法修改dayClick函数以处理双击:

  • 将变量clicked_once设置为false。
  • 点击:
    • 如果!clicked_once
      • clicked_once设为true。
      • 在xx秒后启动超时功能。
        • 在超时时,将clicked_once设置为false。
    • 如果clicked_once
      • 执行活动
      • clicked_once设为false。

很抱歉提供算法而不是代码,在他们面前没有任何参考资料。

答案 1 :(得分:1)

我的问题得到了更好的解决方案。

将参数设置为:

longPressDelay

在客户选项中如下

<?= \yii2fullcalendar\yii2fullcalendar::widget(array(
        'options' => [
        ],
        'clientOptions' => [
            'allDaySlot' => false,
            'selectHelper' => true,
            'eventClick' => new JsExpression($JSEventClick),
            'dayClick' => new JsExpression($JSDayClick),
            'eventMouseover' =>new JsExpression($JSDayMouseover),
            'eventMouseout' =>new JsExpression($JSDayMouseout),
            'defaultView' => 'agendaWeek',

            'longPressDelay' => 1500, // -> Add here

            'firstDay' => date('w'),  // Sunday=0, Monday=1, Tuesday=2, etc.
            'header' => [
                'center'=>'prev,next today',
                'left'=>'',
                'right'=>'agendaDay,agendaWeek,month',
            ],
        ],
        'ajaxEvents' => Url::to(......)
    ));
    ?>

参考: https://github.com/philippfrenzel/yii2fullcalendar/issues/72#issuecomment-268556312