Включение выделения текста на вкладке Extjs

на моей странице Я создаю tabPanels с помощью exjs 4.1.3. проблема в том, что я не могу выбрать текст заголовка вкладки с помощью мыши.

вот мой код:

TabPanel = Ext.create('Ext.tab.Panel', {
        renderTo: 'tabs',
        resizeTabs: true,
        enableTabScroll: true,
        width: 'auto',
        border:false,
        plain: true,
        tabBar: {
            layout: {
                scrollIncrement: 100
            },
            height: 24,          
            defaults: {
                height: 24           
            }
        },
        items: [{
            title: listTabLabel,
            id: 'firstTab',
            border:false,
            items:mainPanel,
            closable: false,
            tabConfig:{
                style: {
                    borderRadius: 0,
                },
                margin: '0 0 0 0'
            }
        }]
})

когда я открываю новую вкладку, я называю это ниже кодом, чтобы добавить новую вкладку

TabPanel.add({
    id: record,
    closable: true,
    html: tabContent,
    title: name,     
    tooltip: tabName,
    dirty: false,
    recordValue: ''+record,
    height:50,
    tabConfig: {
        style: {
            borderRadius: 0
        },
        margin: '0 0 0 -2'              
    } 
}

что я пробовал: Я использовал функцию выбора Extjs, как показано ниже

listeners : {
    boxready: function() {
        Ext.select('.x-tab-center').selectable();  /*To enable user selection of text*/
    }
}

Он включает выделение текста, но он недостаточно гладкий. проблемы: 1. текст не будет выбран, если я перетащу мышь на текст, я должен перетащите мышь снаружи. 2. выбор не происходит, если выбрать его из середины. пример: если мое имя вкладки ABCDFE, то я не могу выбрать только dfe.

пожалуйста, помогите решить этот вопрос. вот скрипка

1 ответов


вот как я решил, манипулируя DOM

          boxready: function() {
                Ext.select('.x-box-inner, .x-tab-center').selectable();
                var idVal = this.tab.btnEl.id;
                var button = document.getElementById(idVal);
                var height = button.style.height;
                var divEl = Ext.DomHelper.insertBefore(button, {       /*added a div in replacement of button*/
                    tag: 'div', 
                    id : idVal,
                    cls: 'RF_tabHeader x-tab-center',
                    title: button.title,
                    style: 'height: '+height
                });

                divEl.update(button.innerHTML);
                button.parentNode.removeChild(button);                 /* button tag is removed.*/
            }