完整日历点击事件打开 Android 中的对话框不起作用



这是我的完整日历代码,我正在尝试在Android的对话框中打开日历事件。我尝试了所有的方法和建议,但失败了。谁能建议谁在安卓中尝试过这个?目前,它正在android的浏览器中打开单击事件,我想显示在对话框中。提前致谢

<html>
<head>
<script src='../jquery/jquery-1.9.1.min.js'></script>
<script src='../jquery/jquery-ui-1.10.2.custom.min.js'></script>
<script src="../jquery/jquery.ui.touch-punch.min.js"></script>
<script src='../fullcalendar/fullcalendar.min.js'></script>
<link href='../fullcalendar/fullcalendar.css' rel='stylesheet' />
<link href='../fullcalendar/fullcalendar.print.css' rel='stylesheet' media='print' />
<script src='../fullcalendar/gcal.js'></script>
<script>
$(document).ready(function() {
    $('#calendar').fullCalendar({
    // US Holidays
    events: 'http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic',
    eventClick: function(calEvent, jsEvent, view) {
            alert('Event: ' + calEvent.title);
            alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);
            alert('View: ' + view.name);
            // change the border color just for fun
            $(this).css('border-color', 'red');
            },
        loading: function(bool) {
            if (bool) {
                $('#loading').show();
            }else{
                $('#loading').hide();
            }
        }
    });
});
</script>
<style>
body {
    margin-top: 25px;
    text-align: center;
    font-size: 13px;
    font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
    }
#loading {
    position: absolute;
    top: 5px;
    right: 5px;
    font-size: 9px;
    }
#calendar {
    width: 100%;
    margin: 0 auto;
    }
</style>
</head>
<body>
<div id='loading' style='display:none'>Please Wait....Loading....</div>
<div id='calendar'></div>
</body>
</html>

我遇到了同样的问题,这是解决方法。

出现此问题是因为在 Adam Shaw 最优秀的 FullCalendar 插件 (v1) 中,他在事件容器鼠标悬停上将事件处理程序懒惰地附加到日历事件。问题是 Android 没有正确实现鼠标悬停事件,因此点击处理程序不会被初始化。

一种解决方法是将他的插件中第 1707 行周围的代码从: container.unbind('mouseover').mouseover(function(ev) {

container.unbind('click').click(function(ev) {

但是,这将要求您单击一个事件来初始化任何其他事件,因此如果您在日历事件上悬停事件(我猜您不会,因为您正在进行移动开发),此方法将不起作用。

另一种选择,我这样做,但击败了他的懒惰事件初始化,是将以下内容添加到您的日历初始化选项中:

eventAfterAllRender: function(){
  // hack to trigger event binding on android chrome, which doesn't trigger mouseover events
  $('.fc-event').each(function(i, element){
    $(element).trigger('mouseover', {});
  })
}

这样做会立即触发日历中所有事件的鼠标悬停事件,从而触发所有日历事件上的 attachHandler。

相关内容

  • 没有找到相关文章

最新更新