0

コンボボックスを使用してリッチなツールチップを構成しました。クリックしてコンボボックスを開くと、ツールチップがフォーカスを失って閉じます。この動作は、ツールチップ内ではなくツールチップの外側をクリックしたときに必要になります。

ツールチップ自体の内部でフォーカスが失われたときにツールチップが閉じないようにするにはどうすればよいですか?

スニペット:

var tip = Ext.create('Ext.tip.ToolTip', {
    autoHide: false,
    items: [{
        xtype: 'combobox',
        ...
    }]
});

Ext.QuickTips.init();
tip.show();
4

1 に答える 1

2

beforehideチップを表示したままにしたい場合は、イベントをリッスンしてfalseを返すことができますが、mouseeventにアクセスできません。

別の解決策(IMOが簡単)は、のonDocMouseDownメソッドをオーバーライドすることExt.tip.ToolTipです。例:

onDocMouseDown: function(e) {
    var combo = this.down('combo');

    if (!e.within(combo.getPicker().el)) {
        //this.callParent(arguments); 
        Ext.tip.ToolTip.prototype.onDocMouseDown.call(this, e);
    }
}

作業サンプル: http: //jsfiddle.net/7NWr5/8/

于 2012-11-23T15:39:32.063 に答える