这是我的完整日历代码,我正在尝试在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。