Bre*_*ttJ 6 javascript jquery twitter-bootstrap chart.js
我在将 JavaScript 放入 Popover 时遇到问题。我想在单击时将 Chart.js 中的图表放置在 Popover 内部。为了示例,让我们使用其文档中的示例图http://www.chartjs.org/docs/latest/
到目前为止我已经有了我的 Popover -
<button type="button"
class="btn btn-lg btn-primary"
data-toggle="popover"
title="Good vs. Evil Winrate"
data-placement="bottom"
data-content="Graph coming soon!">
Who's Winning?
</button>
Run Code Online (Sandbox Code Playgroud)
和 jQuery 来初始化它 -
$(document).ready(function(){
$('[data-toggle="popover"]').popover();
});
Run Code Online (Sandbox Code Playgroud)
我只是不明白如何将图形放置在 Popover 内部,我尝试过的所有操作都会将其破坏到 Popover 根本无法打开的程度。
您可以直接在 JavaScript 中设置弹出选项,也可以监听事件。
这里重要的选项是html: true允许将 HTML 放置在弹出窗口内容中,否则显示为字符串。
该content选项文档指出:
data-content如果属性不存在,则默认内容值。
然后,监听该shown.bs.popover事件,我们获取之前<canvas>使用 jQuery 放置的内容,并将其作为新 Chart.js 实例的上下文传递。
$('[data-toggle="popover"]').popover({
html: true,
content: '<canvas id="myChart" width="400" height="400"></canvas>',
}).on('shown.bs.popover', function() {
new Chart($('#myChart'), {
// The type of chart we want to create
type: 'line',
// The data for our dataset
data: {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
label: "My First dataset",
backgroundColor: 'rgb(255, 99, 132)',
borderColor: 'rgb(255, 99, 132)',
data: [0, 10, 5, 2, 20, 30, 45],
}]
},
// Configuration options go here
options: {}
});
});Run Code Online (Sandbox Code Playgroud)
<button type="button" class="btn btn-lg btn-primary" data-toggle="popover" title="Good vs. Evil Winrate" data-placement="bottom">Who's Winning?</button>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.min.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3121 次 |
| 最近记录: |