我需要访问Extjs组合框中keydown事件的剪贴板数据,才能执行某些操作。
我试过window.clipboardData。
请找到小提琴:https://fiddle.sencha.com/#fiddle/1cc2

Ext.create('Ext.form.field.Tag',{
    renderTo:Ext.getBody(),
    createNewOnEnter:true,
    store:[1,2,3],
    enableKeyEvents:true,
    listeners:{
        keydown:function(combo,e){
            if(e.getKey() === e.V && e.ctrlKey){
                //get Clipboard data here
                combo.preventKeyUpEvent = e.V;
                e.stopEvent();
            }
        }
    }
});

最佳答案

我认为您可以将paste事件侦听器添加到组合(实际上是它的选择器)中,并使用ClipboardEvent接口的方法获取剪贴板数据,如下所示:

combo.getEl().addListener(
    'paste',
    function(event, element, options) {
        var clipboardData = event.browserEvent.clipboardData;
        console.log(clipboardData.getData('Text'));
    }
);

Working fiddle

08-15 15:15