FullCalendar:在构造中使用脚本

时间:2010-11-01 06:57:51

标签: html fullcalendar

如果你在<head>的构造中创建了一个调用脚本 - 那么它是有效的,但是如果它构造<body>的原因 - 它不起作用:(

工作:

<html>
<head>
..
<script type="text/javascript" src="../js/fullcalendar.js"></script>
<script type="text/javascript">
 $(document).ready(function() {
  var date = new Date();
  var d = date.getDate();
  var m = date.getMonth();
  var y = date.getFullYear();
  $('#calendar').fullCalendar({
   editable: true,
   events: [
    {
     title: 'All Day Event',
     start: new Date(y, m, 1)
    }
   ]
  });
 });
</script>
</head>
<body>
<div id='calendar'></div>
</body>
</html>

不起作用:

<html>
<head>
..
</head>
<body>
<script type="text/javascript" src="../js/fullcalendar.js"></script>
<script type="text/javascript">
 $(document).ready(function() {
  var date = new Date();
  var d = date.getDate();
  var m = date.getMonth();
  var y = date.getFullYear();
  $('#calendar').fullCalendar({
   editable: true,
   events: [
    {
     title: 'All Day Event',
     start: new Date(y, m, 1)
    }
   ]
  });
 });
</script>
<div id='calendar'></div>
</body>
</html>

告诉我我做错了什么? ..

1 个答案:

答案 0 :(得分:0)

这当然令人惊讶!你确定你正确地复制和粘贴了吗?我可以立即看到的唯一解释是,因为DOM元素#calendar尚未加载或类似的东西,但jQuery不应该执行$(document).ready,直到每个DOM元素都被加载,所以它绝对是奇怪的。

您的问题很可能是浏览器不确定的,这意味着在刷新之间,不同浏览器中的问题很可能会有所不同。

您可以尝试从fullCalendar中删除所有$(document).ready(代码,而只是拥有此代码:

$(document).ready(function() {
  console.log(document.getElementById('calendar'));
});

尝试INSIDE头部和外部,看看它有什么不同。