javascript - 如何在 fullcalendar.js 中激活主题?
问题描述
我想在 javascript 中创建一个日历视图。我正在使用这个插件,但主题不会显示,只是尝试使用标准主题。有谁知道为什么?
https://fullcalendar.io/docs/theming
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.min.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.print.css">
<script>
$(function() {
$('#calendar').fullCalendar({
themeSystem : "standard",
dayClick: function() {
alert('a day has been clicked!');
}
})
});
</script>
</head>
<body>
<div id="calendar"></div>
</body>
</html>
解决方案
问题是
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.print.css">
必须改为
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.print.css" media="print">
(即您必须将属性添加media="print"
到链接标签)
否则您将始终获得打印布局,即使在屏幕上也是如此。有关“媒体”属性的更多详细信息,请参见此处。
添加后,它会告诉打印 CSS 仅在用户尝试打印页面时接管,并让标准主题在浏览器内版本中使用。
演示:https ://jsfiddle.net/40f1z3ts/
PS如果你只是想使用标准主题,你实际上根本不需要themeSystem : "standard",
在你的代码中写 - 这是默认值,所以你可以省略它。
PPS 当然,如果您想使用任何其他主题,您必须适当地设置主题系统并在您的页面中包含相关的 CSS 文件。
推荐阅读
- excel - Excel Online Office 365 在哪里获取外部数据
- angular - Angular 7动态设置路由器动画触发器
- objective-c - 基于视图的 NSTableView 仅在焦点更改时重绘
- python - 通过对其他列的位进行采样来创建新列
- python-3.x - 我想使用 Pillow 在 Tkinter 中动态显示图像
- reactjs - 来自多个效果挂钩的多个状态更改
- angular - 如何使用 Angular Firestore 获取集合中的文档列表
- jquery - 无法通过 ajax 发布请求在 asp.net mvc 中注册控制器
- python - 多线程程序不立即返回主线程
- c - Why can't i declare a more than three digits array of array of char in C?