Вы можете использовать плагин для этого, так как вы можете вызывать или даже переопределять приватные методы из плагина:
var suggested_text_plugin = {
init: function(o) {
o.onTypeAhead = function() {
// Original code from the sources goes here:
if(this.store.getCount() > 0){
var r = this.store.getAt(0);
var newValue = r.data[this.displayField];
var len = newValue.length;
var selStart = this.getRawValue().length;
if(selStart != len){
this.setRawValue(newValue);
this.selectText(selStart, newValue.length);
}
}
// Your code to display newValue in DOM
......myDom.getEl().update(newValue);
};
}
};
// in combobox code:
var cb = new Ext.form.ComboBox({
....
plugins: suggested_text_plugin,
....
});
Я думаю, что даже возможно создать целую цепочку методов, вызывая оригинальный метод до или после вашего, но я еще не пробовал это.
Также, пожалуйста, не настаивайте на том, чтобы я использовал нестандартное определение плагинов и методики вызова (недокументированные). Это просто мой взгляд на вещи.
EDIT:
Я думаю, что цепочка методов может быть реализована примерно так (не проверено):
....
o.origTypeAhead = new Function(this.onTypeAhead.toSource());
// or just
o.origTypeAhead = this.onTypeAhead;
....
o.onTypeAhead = function() {
// Call original
this.origTypeAhead();
// Display value into your DOM element
...myDom....
};