2014-01-13 3 views
1

Я пытаюсь найти способ запускать eventClick на конкретном событии программным путем.fullcalendar.js trigger eventClick программно

В моем приложении пользователи перетаскивают & события капли в календарь, а затем должны щелкнуть по нему, чтобы вставить данные во всплывающую форму.

Я хотел бы открыть эту форму автоматически, инициировав eventClick. Кто угодно ?

Приветствия

Вот мой код:

var calendar = $('#calendar').fullCalendar({ 
     buttonText: { 
      prev: '<i class="icon-chevron-left"></i>', 
      next: '<i class="icon-chevron-right"></i>' 
     }, 
     header: { 
      left: 'prev,next today', 
     }, 
     eventSources: [{ 
      // a bunch of event sources 
     }], 
     drop: function(date, allDay) { // this function is called when something is dropped 

      // do some stuff to the event that has been dropped 
      var event = ...; // I know how to get the event object from here 

      **// TRIGGER 'eventClick' ON EVENT OBJECT DROPPED IN ORDER TO SHOW FORM** 

     }, 
     eventClick: function(calEvent, jsEvent, view) { 

      // Show the data entry form 
     } 

    }); 
+0

Существует несколько способов запуска события клика, но похоже, что вы действительно хотите запустить обработчик события, обработчик которого вызывает открытие формы. –

+0

См. Http://stackoverflow.com/questions/2490825/how-to-trigger-event-in-javascript, возможно? –

+0

Возможно, скрипка или какой-то код, демонстрирующий то, что у вас есть, помогли бы. Вы используете jQuery ui? Пожалуйста, напишите скрипку и/или ваш код. – Trevor

ответ

0

Вы можете использовать Diferent Fullcalendar обратные вызовы для достижения этой цели, here

Particullary эти:

eventDragStart (обратный вызов) Срабатывает когда начинается перетаскивание события.

eventDragStop (обратный вызов) Запускается при остановке события.

eventDrop (callback) Запуск при перетаскивании остановок и событие переместилось в другой день/время.

eventResizeStart (callback) Срабатывает при начале изменения размера события.

eventResizeStop (callback) Срабатывает при прекращении изменения события.

Вы можете использовать их для получения свойств события, таких как id, а затем использовать всплывающее окно формы внутри них.

Пример:

Представьте, что вы хотите всплывать свою форму после того, как падение было сделано, вы будете использовать этот

... 
eventDragStop:function(event, jsEvent, ui, view) { 
    alert("i have been dropped, now i´m going to load my form, and my ID is " + event.id); 
} 
... 
+0

Спасибо за ваш ответ.Я знаю все эти функции обратного вызова, но то, что я пытаюсь сделать, это следующее: eventDrop: function (event, jsEvent, ui, view) { // КАК Я ТРИГГЕР СОБЫТИЯ ЗДЕСЬ НА ОДНОМ СОБЫТИИ } – alexsaleh

0

Я знаю, что это было некоторое время, но позволяет сохранить это для людей, Google то же самое:

http://www.mikesmithdev.com/blog/fullcalendar-event-details-with-bootstrap-modal/

Все объяснено на этой странице, так что я думаю, что мне больше не нужно уточнять

+0

Отлично. Теперь, как открыть этот модальный автоматически/программно? – alexsaleh

+0

вам нужно добавить идентификатор к событию, которое нужно вызвать в dom, и таким образом вы можете вызвать диалог, который хотите от кода. Другая опция - поиск событий по заголовку, например, например, на этой странице (что не является хороший пример из-за множества одинаковых названий) http://www.mikesmithdev.com/fullcalendar-jquery-ui-modal/ вы можете сделать это: $ ("body"). find (". fc-title") .each (function() {if ($ (this) .text() == "Встреча персонала") $ (this) .parent(). parent(). click(); return false;}); – vodich

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