FullCalendar: использование скрипта в конструкции <body> - PullRequest
0 голосов
/ 01 ноября 2010

Если вы создаете скрипт вызова в конструкции <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 голосов
/ 28 ноября 2010

Это, конечно, удивительно! Вы уверены, что правильно скопировали и вставили? Единственное объяснение, которое я сразу вижу, это то, что элемент DOM #calendar еще не загружен или что-то в этом роде, но jQuery не должен выполнять $(document).ready до тех пор, пока не будет загружен каждый элемент DOM, поэтому это определенно странно.

Ваша проблема, скорее всего, заключается в недетерминированности браузера, то есть, скорее всего, она будет работать по-разному в разных браузерах между обновлениями.

Можете ли вы попробовать удалить весь код fullCalendar из $(document).ready( и вместо этого просто иметь:

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

Попробуй это ВНУТРИ головы и снаружи и посмотри, какая разница.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...