继承dijit.TooltipDialog

时间:2013-10-09 06:13:01

标签: javascript dojo

我想取消onBlur事件,以便即使在外面点击它也可以打开dijit.TooltipDialog。

所以我的策略是继承dijit.TooltipDialog并以某种方式处理事件。无论我做什么,事件都会传播。取消它的唯一可怕方法是强制使用某种空指针并忽略它。

dojo.provide("package.AnotherTooltipDialog");
dojo.require("dijit.TooltipDialog");

dojo.declare("package.AnotherTooltipDialog", [dijit.TooltipDialog],
{
    startup: function () {
        this.inherited(arguments);
        //this._onBlur = null;
        //this.onBlur = null;
    },
    onBlur: function () {
        //dojo.stopEvent(e); // don't have any arguments
        //this.inherited(arguments);
        //return false;
        //return -1;
        //return null;

    }
//  ,
//    _onBlur: function () {
//        dojo.stopEvent(e); // don't have any arguments
//        this.inherited(arguments);
//        return false;
//        return -1;
//        return null;
//    }
});

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这里的问题是TooltipDialog是作为dropDown处理的。

您不必修改tooltipDialog,而是修改DropDownButton。

我不确定在您的应用程序中是否会从DropDownButton中显示工具提示,但如果是这种情况,请覆盖其_onBlur,如下所示:

return declare("package.AnotherDropDownButton", [DropDownButton], {
     _onBlur        : function() { 
         //Leave this empty
      }
}