Javascript 无法在粘贴事件中获取ExtJs 4.1中textareafield的值
请检查这个。我在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: [{
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中还有其他方法处理粘贴事件吗?