如何确定tooltipdialog的父窗口小部件? - (Dojo 1.10+)

时间:2016-07-12 20:02:03

标签: javascript dojo

有没有办法获取点击的源窗口小部件,以显示从其中删除的tooltipdialog?

我的目标是在tooltipdialog中有一个按钮,我可以使用它来删除父窗口小部件。

所以我将一个小部件放在tooltipdialog中,其中有一个像这样的

  <input type="button" value="Delete" data-dojo-attach-event="click: delete" />

在小部件中我有我的功能删除

    deleteWidget: function (evt) {

        var thisDialog = this; 

        //do the delete 
    },

在我打开对话框并单击按钮后,在调试器中我检查事件'evt'以及'this',但我找不到指示源的属性和方法列表中的任何内容我点击的小部件。

1 个答案:

答案 0 :(得分:0)

通常,事件的上下文将与窗口小部件的上下文不同。因此,实现所需内容的最佳选择是在代码中附加事件并使用lang.hitch更改上下文。下面是一个骨架代码。

使用data-dojo-attach-point代替

<input type="button" value="Delete" data-dojo-attach-point="deletebtn" />

这里的模块

define(....
   ...
   postCreate: function(){
       on(this.deletebtn, 'click', lang.hitch(this, "delete"));
       ....
   }

   delete:function(){
       //here this is the widget/module.
   }
}

更新:如果要设置TooltipDialog的内容,dojo-attach-point可能不起作用