我想取消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;
// }
});
有什么想法吗?
答案 0 :(得分:1)
这里的问题是TooltipDialog是作为dropDown处理的。
您不必修改tooltipDialog,而是修改DropDownButton。
我不确定在您的应用程序中是否会从DropDownButton中显示工具提示,但如果是这种情况,请覆盖其_onBlur,如下所示:
return declare("package.AnotherDropDownButton", [DropDownButton], {
_onBlur : function() {
//Leave this empty
}
}