Javascript 如何处理@jupyterlab/apputils对话框单击事件| jupyterlab扩展

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

根据文档,对话框构造函数获取按钮数组,其元素实现IButton接口。但是,IButton没有任何onclick事件

对话框具有handleEvent功能,但很难理解单击是从哪个按钮触发的。我发现的唯一解决方案是为按钮提供ID/类,使子节点不可引用(以便于比较),然后将click的src元素与所有按钮ID/类进行比较。 丑陋的解决方案:

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
      }
    }
  }
};

应该有更好的方法,但我甚至通过检查文档也找不到