提醒任何自托管也遇到此错误的人....
在版本 5.6.0 银色主题中,对话框 urlinput 启用/禁用适用于输入字段,但不适用于控件的浏览按钮。问题是启用/禁用事件被内部对象的 typeaheadBehaviours 部分拦截,因此它们永远不会到达整个字段的事件处理程序。解决方法是将 onDisabled 和 onEnabled 处理程序添加到 typeaheadBehaviours 的 Disabling.config 并从每个处理程序中删除处理输入字段的代码行。
原始 typeaheadBehaviours Disabling.config....
Disabling.config({
disabled: function () {
return spec.disabled || providersBackstage.isDisabled();
}
})
修改后的代码......
Disabling.config({
disabled: function () {
return spec.disabled || providersBackstage.isDisabled();
},
onDisabled: function (comp) {
memUrlPickerButton.getOpt(comp).each(Disabling.disable);
},
onEnabled: function (comp) {
memUrlPickerButton.getOpt(comp).each(Disabling.enable);
}
})
无法弄清楚如何让这些事件冒泡到整个控制处理程序,但这似乎使事情按预期工作。