javascript - 在 Qualtrics 中使用 Chart.js 的可拖动条形图
问题描述
我正在尝试使用 Qualtrics(调查平台)中的 JavaScript 以及 Chart.js 和 dragData 插件来制作拖动条形图。当我将图表放入条形图时(应该如此),我在鼠标中完美地看到图表变成了一只手,但条形图不可拖动。我不知道问题可能是什么。以下是步骤:
- 在 Qualtrics 中,在标题中,在外观和感觉中,(html 形式)我写道:
<script src = "https://cdn.jsdelivr.net/npm/chart.js@2.9.3/dist/Chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-dragdata@latest/dist/chartjs-plugin-dragdata.min.js"></script>
- 在我希望图表出现的问题中,在 html 模式下:
<canvas height="400" id="myChart" width="400"> </canvas>
- 问题中的javascript代码是:
Qualtrics.SurveyEngine.addOnReady(function() {
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: [
'Africa',
'Asia',
'Europe',
'Latin America',
'North America',
],
datasets: [
{
label: 'Population (millions)',
backgroundColor: [
'#3e95cd',
'#8e5ea2',
'#3cba9f',
'#e8c3b9',
'#c45850',
],
data: [2478, 5267, 734, 784, 433],
},
],
},
options: {
dragData: true,
dragDataRound: 1,
dragOptions: {
showTooltip: true,
},
onDragStart: function(e, element) {
// console.log(e)
},
onDrag: function(e, datasetIndex, index, value) {
e.target.style.cursor = 'grabbing';
// console.log(datasetIndex, index, value)
},
onDragEnd: function(e, datasetIndex, index, value) {
e.target.style.cursor = 'default';
// console.log(datasetIndex, index, value)
},
hover: {
onHover: function(e) {
const point = this.getElementAtEvent(e);
if (point.length) e.target.style.cursor = 'grab';
else e.target.style.cursor = 'default';
},
},
scales: {
yAxes: [
{
ticks: {
max: 6000,
min: 0,
},
},
],
},
},
});
});
奇怪的是我不能拖动条。有什么建议么?
解决方案
推荐阅读
- python - 如何读取当前 QTabWidget 选项卡的 QTextEdit 文本?
- node.js - 为什么我的变量在更改一次后没有改变
- firebase - Firebase Auth 是否可以在不创建新用户的情况下验证电子邮件和密码?
- android - Xamarin.Android 在直接启动模式下不接收位置更新
- apache-spark - 如何从 PySpark 数据框列中查找所有表情符号?
- php - 在带有 PDO 的 where 子句中使用 mysql 变量
- javascript - d3 在将嵌套数据传递给 d3.stack 时返回错误“e 不是函数”
- c# - 如何避免强制转换派生类型 - Liskov 原则违规
- haproxy - Haproxy %rt 字段大小
- selenium - 无法点击文本下的行