Javascript 如何处理@jupyterlab/apputils对话框单击事件| jupyterlab扩展
根据文档,对话框构造函数获取按钮数组,其元素实现IButton接口。但是,IButton没有任何onclick事件 对话框具有handleEvent功能,但很难理解单击是从哪个按钮触发的。我发现的唯一解决方案是为按钮提供ID/类,使子节点不可引用(以便于比较),然后将click的src元素与所有按钮ID/类进行比较。 丑陋的解决方案:Javascript 如何处理@jupyterlab/apputils对话框单击事件| jupyterlab扩展,javascript,jupyter-notebook,jupyter-lab,Javascript,Jupyter Notebook,Jupyter Lab,根据文档,对话框构造函数获取按钮数组,其元素实现IButton接口。但是,IButton没有任何onclick事件 对话框具有handleEvent功能,但很难理解单击是从哪个按钮触发的。我发现的唯一解决方案是为按钮提供ID/类,使子节点不可引用(以便于比较),然后将click的src元素与所有按钮ID/类进行比较。 丑陋的解决方案: dialog.handleEvent = e => { if (e.type === "click") { const elm: any = e
dialog.handleEvent = e => {
if (e.type === "click") {
const elm: any = e.srcElement;
if (elm.classList.contains("jp-Dialog")) {
if (elm.classList.contains("cancel-btn")) {
// handle cancel
} else if(elm.classList.contains("success-btn")) {
// handle success
}
}
}
};
应该有更好的方法,但我甚至通过检查文档也找不到