javascript - Javascript中是否有“afterChange”事件而不是“change”?
问题描述
每当用户从与特定轴相对应的下拉列表中选择一个值时,我都会尝试使 Plotly 图表中的 X 和 Y 轴的源数据自动更新。
事件监听器有问题(下面代码的最后两行):
function restyle(chart_div, update_data) {
console.log(update_data.x);
Plotly.restyle(chart_div, update_data);
};
var update_data = {
x: [columns[controls.x_axis_dropdown.value]],
y: [columns[controls.y_axis_dropdown.value]],
};
controls['x_axis_dropdown'].addEventListener("change", function(){restyle(chart_div, update_data)});
controls['y_axis_dropdown'].addEventListener("change", function(){restyle(chart_div, update_data)});
问题是,目前每当用户更改下拉值时,都会restyle
在下拉值确实更改之前调用该函数。结果,图表保持不变。
restyle
更改下拉值后如何调用该函数?因此,我需要的不是事件侦听器上的“更改”事件,而是“afterChange”事件。
解决方案
也许您需要直接从下拉元素中获取值。使用调用回调函数的事件对象来检索目标元素的相关值。
controls['y_axis_dropdown'].addEventListener("change", function(event){
const update_data = event.target.whatever_data;
restyle(chart_div, update_data)
});
推荐阅读
- php - 静态网站的Heroku部署错误
- java - Spring 2.3.4 在函数中创建一个bean
- c++ - Boost::asio::serial_port - 迁移到 boost 1.7.1 版时使用 io_service.read() 函数
- python - 如何在 Python 中按顺序计算相邻元素的出现次数?
- azure - MS Graph API - 我可以读取 B2C Active Directory 中的用户,但无法创建用户
- python - 使用 PIL 保存带有特定 Tiff 标签的 Tiff
- c# - 如何在 AutoCAD 中创建可以交互(绘图)的应用程序。对象ARX?。网 ?添加在?
- javascript - 使用 discord.js v12 解禁命令
- python - 如何挑选第一个带拉链的物品?| 蟒蛇 |
- javascript - 如何将嵌入 php 的选择元素中的 2 个变量传递给 javascript 函数?