Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在粘贴事件中获取ExtJs 4.1中textareafield的值_Javascript_Extjs_Extjs4.1 - Fatal编程技术网

Javascript 无法在粘贴事件中获取ExtJs 4.1中textareafield的值

Javascript 无法在粘贴事件中获取ExtJs 4.1中textareafield的值,javascript,extjs,extjs4.1,Javascript,Extjs,Extjs4.1,请检查这个。我在ExtJs 4.1 textareafield中粘贴了一些值,但我无法更改该字段的值。请建议在粘贴事件中获取值的方法。 Ext.onReady(function () { Ext.create('Ext.window.Window', { height: 60, layout: 'anchor', minHeight: 60, width: 200, items: [{

请检查这个。我在ExtJs 4.1 textareafield中粘贴了一些值,但我无法更改该字段的值。请建议在粘贴事件中获取值的方法。

Ext.onReady(function () {
    Ext.create('Ext.window.Window', {
        height: 60,
        layout: 'anchor',
        minHeight: 60,
        width: 200,
        items: [{
            grow: true,
            anchor: '100%',
            flex: 1,
            enableKeyEvents: true,
            xtype: 'textareafield',
            id: 'txtFld',
            listeners: {
                keydown: function (txtArea, e, eOpts) {
                    //console.log(e.getKey());
                    if (e.keyCode == 13 && txtArea.value.split("\n").length >= 5) {
                        console.log('unable to stop :( ');
                        e.stopEvent();
                        return false;
                    }
                },
                paste: {
                    element: 'inputEl',
                    fn: function (event, inputEl) {

                        if (event.type == "paste") {
                            console.log('in pasted');

                            console.log("inputEl.value >> " + inputEl.value);
                            console.log("inputEl.innerHTML >> " + inputEl.innerHTML);
                            console.log("inputEl.innerText >> " + inputEl.innerText);
                            console.log("inputEl.outerText >> " + inputEl.outerText);
                            console.log("inputEl.outerText >> " + inputEl.outerText);

                            console.log(' Ext Val >> ' +Ext.getCmp('txtFld').value);

                            //event.preventDefault();
                            //return false;
                        }
                    }
                }
            }
        }]
    }).show();
});

似乎侦听器在设置inputEl的值之前运行。我找到了一个有点肮脏的解决办法,但对我有效


delay:1
添加到
paste
侦听器。这会导致侦听器运行1毫秒后,这显然足以设置该值。我考过英语Chrome@MaxOS X.

正如Saki所建议的,我在
粘贴
事件中添加了
延迟:1
。这是答案。

谢谢您的回复。你能告诉我如何增加活动的延迟吗?在ExtJs中还有其他方法处理粘贴事件吗?