2010-08-04 29 views
37

Tôi nghĩ plugin full-jquery đầy đủ là một giải pháp thực sự tuyệt vời. Tuy nhiên, tôi nhận thấy plugin thoát (htmlEscape) tiêu đề. Nhưng tôi cần phải định dạng một số chuỗi trong tiêu đề, ví dụ như văn bản in đậm, màu sắc hoặc hình ảnh nhỏ.HTML trong chuỗi tiêu đề của plugin fullcalendar jquery

Giải pháp với một plugin khác (ví dụ qTip, như trong các ví dụ) sẽ không hoạt động đúng cách cho tôi. Có anyway để định dạng văn bản tiêu đề?

+2

Thêm nhiều bài viết của cùng một câu hỏi sẽ không giúp cơ hội tìm thấy một câu trả lời :) http://stackoverflow.com/questions/3408723/display-more-text-in-fullcalendar – Jake1164

+2

Không chính xác cùng một câu hỏi. Nó có thể hữu ích để có 2 câu hỏi được hỏi khác nhau về cùng một chủ đề. Họ chỉ đơn giản là có liên quan và nó làm tăng cơ hội cho người tìm kiếm và người trả lời để tìm một trong số họ. –

Trả lời

2

Tôi đã kết thúc thực hiện một việc như thế này để đặt liên kết bên cạnh thời gian. Một cái gì đó tương tự nên làm việc cho tiêu đề:

events: [ 
     <% @schedule.events.each do |event| %> 
     { 
     // Render your events here as needed 
     // I added a custom attribute called eventDeleteLink, to be used below 
     }, 
     <% end %> 
    ], 
    // Add this piece: 
    eventRender: function(event, element) { 
     element.find(".fc-event-time").append(" " + event.eventDeleteLink); 
    } 

Vì vậy, điều này sử dụng jQuery append() để thêm một không gian bất kỳ liên kết xóa sau thời gian và nó hoạt động tốt cho các công cụ cơ bản.

Những gì nó không hoạt động (và những gì tôi muốn thấy một giải pháp cho, nếu có ai) bao gồm mã với dấu ngoặc kép hoặc dấu ngoặc kép. Ví dụ: tôi không thể thêm trình kích hoạt onClick vì nhu cầu (trong trường hợp của tôi) cho các dấu nháy đơn trong dấu ngoặc kép. Tôi không thể tìm ra cách để trốn thoát họ và không có (những gì tôi tin là) fullCalendar tái thoát chúng.

Dù sao, đối với văn bản cơ bản, điều này làm việc cho tôi.

14

Để dễ dàng có tất cả html trong tiêu đề sự kiện cho thấy tôi đã sử dụng điều này, làm cho nó rất dễ dàng.

eventRender: function (event, element) { 
    element.find('span.fc-event-title').html(element.find('span.fc-event-title').text());   
} 

nào được tìm thấy ở đây http://code.google.com/p/fullcalendar/issues/detail?id=152

+0

tính năng này chỉ hoạt động cho chế độ xem theo tháng –

+0

Tôi có thêm tính năng này vào lịch khởi tạo lịch hay là thuộc tính của sự kiện mà tôi đang hiển thị không? –

50

Tôi đã làm điều này thay vì như các quan điểm khác sử dụng cùng lớp nhưng không nhịp và tôi buộc trong tiêu đề từ sự kiện này chứ không phải là làm cho một yêu cầu bổ sung cho văn bản.

eventRender: function (event, element) { 
    element.find('.fc-event-title').html(event.title); 
} 

Trong v2, bạn có thể sử dụng:

element.find('span.fc-title').html(element.find('span.fc-title').text()); 

Các span class là fc-title như trái ngược với fc-event-title.

Tín dụng cho j00lz để nhận xét xác nhận thay đổi.

+1

hoạt động cho tất cả các chế độ xem theo tháng, tuần và ngày. Đây sẽ là câu trả lời đúng. –

+1

Vâng, đây là một giải pháp tuyệt vời. Tôi sử dụng phương pháp này để chèn hai vào góc trên cùng bên phải của tiêu đề. Và sử dụng "nút" này để xóa và chỉnh sửa sự kiện. – superpuccio

+1

Tôi đã sử dụng 'eventAfterRender' để làm việc này cho FullCalendar 2.0.2 – pierrea

15

Bởi vì lớp CSS đã thay đổi, đây là câu trả lời đúng:

eventRender: function (event, element) { 
    element.find('.fc-title').html(event.title); 
} 
+0

hoàn toàn làm việc trong FullCalendar v2.6.1 – Ja8zyjits

Các vấn đề liên quan