如何在调用textfield的重置时停止模糊事件

时间:2014-08-05 04:31:25

标签: extjs extjs4.2

在ExtJS 4.2中调用textfield的重置事件时,会自动调用blur事件。

我有一个场景,在一个表单我有组合框和文本字段,在选择组合框我调用文本域的重置。

#cmbStatus : {
    select : function(combo, records, eOpts){
        combo.up('form').down('textfield[name=referencenumber]').reset();
    }

并且在文本字段模糊时,我正在调用组合框的重置。

#txtRefNumber : {
    blur : function(cmp, The, eOpts){
        cmp.up('form').down('combobox').reset();
    }
}

这里,由于选择组合框的级联效果,因为正在调用reset,会自动调用textfield blur事件并发生组合框重置事件

有什么方法可以阻止文本字段模糊事件吗?

我知道textfield的suspendEvent方法但没有用,因为它会暂停事件直到调用resumeEvent。

由于

1 个答案:

答案 0 :(得分:0)

blur事件不是作为调用reset的直接结果而触发的,而是作为对焦点移出文本字段的响应。

您可能需要重新考虑并重新设计逻辑,以便不会发生事件循环。尝试使用其他事件,例如change

此外,根据您需要的逻辑,可能需要调用suspendEvents来避免事件循环。