2014-10-14 2 views
-1

Прочитав документацию по FullCalendar, я подумал, что могу найти способ отключить щелчок по событию, переведя браузер в исходный Календарь Google. Но по неизвестным причинам сценарий, который я использую, не отключает браузер, чтобы открыть новое окно.disable eventClick to google events

Я совершенно новый для сценария, поэтому я, возможно, легко допустил ошибку. Это то, что я пытался использовать, но не работает, но ...

<script>$(document).ready(function() { 
// page is now ready, initialize the calendar... 
$('#calendar').fullCalendar({ 
    // put your options and callbacks here 
    weekNumbers: 'true', 
    header: { 
     left: 'title', 
     center: '', 
     right: 'today,prev,next,', 
    }, 
    editable: 'true', 
    eventSources: [ 
     {url: 'https://www.google.com/ca...', 
     className: 'tehuur', 
     }, 
      {url: 'https://www.google.com/cale...', 
     className: 'verhuurd', 
     }, 
    ], 
    eventClick: function(event) { 
     if (event.url) { 
      window.open(event.url); 
      return false; 
     } 
    } 
}) 

});

Может кто-нибудь указать мне в правильном направлении, чтобы отключить eventClick. Спасибо за вашу помощь.

Ben

+0

Вы прочитали код, который был опубликован? Он говорит eventClick прямо там, который открывает новое окно и т. Д. –

+0

Да, поэтому я удивлен, что он по-прежнему приводит меня к странице календаря Google после нажатия события. Я хотел бы отключить это. Мне сказали, что реализация кодекса, в котором говорится, что «return false» НЕ будет открывать новую страницу Google. Однако это не работает. Возможно, кто-то, пожалуйста, помогите мне отключить это событие, используя другой код, или покажите мне, что я сделал неправильно в приведенном выше коде. Помощь приветствуется .... – Burnardo

+0

Вы действительно спрашиваете, как перенаправить, а не открывать новое окно? трудно сказать –

ответ

0

Просто удалите функцию eventClick. Fiddle here

Эта линия открывает новое окно в Google календарь: window.open(event.url);

$(document).ready(function() { 

    $('#calendar').fullCalendar({ 
     weekNumbers: 'true', 
     header: { 
      left: 'title', 
      center: '', 
      right: 'today,prev,next,', 
     }, 
     editable: true, 
     events: 'http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic', 
     eventClick: function() { 
      return false; 
     } 
    }); 

}); 

Edit:

Если вы хотите перенаправить вместо того, чтобы открыть новое окно, вы должны использовать: window.location.href = event.url; вместо window.open(event.url).

+0

Спасибо, Ричард, за попытку решить мою проблему. Как показывает ваш код в «Скрипке», элементы повестки дня по-прежнему доступны для кликов, а при нажатии они уходят (открывая новое окно), хотя код остается неизменным. Мое предпочтение было бы в том, что любой пункт, отображаемый в повестке дня, отображается только без ссылки на клики. Но, видимо, этого не может быть достигнуто. В некотором смысле, перенаправление было бы полезно, если бы новое направление никуда не привело бы вместо возврата в Календарь Google. – Burnardo

+0

События можно щелкнуть, но они не ведут никуда. Я думаю, что этот вопрос, вероятно, квалифицируется под минимальным пониманием или чем-то еще. Возможно, страница обновляется, поэтому я добавил значение false в функцию. –

+0

@BenvanWetten Нажимает событие, все еще открывающее новое окно? Если да, то какой браузер вы используете? –

1
eventClick: function(event) { 
    if (event.url) { 
    if (event.url.includes('google.com')){ 
     return false; 
    } 
    console.log(event.url.includes('google.com')); 

    } 
} 
Смежные вопросы