使用ExtJS禁用文本字段中的文本拖动

使用ExtJS禁用文本字段中的文本拖动,extjs,extjs5,Extjs,Extjs5,我的要求是我必须禁用文本从一个文本字段拖放到另一个文本字段。但是,应该允许手动复制和粘贴 me.commentsText = Ext.widget('textfield',{ maxLength: 40, enforceMaxLength:true, selectOnFocus : true, fieldStyle: { 'font': 'norm

我的要求是我必须禁用文本从一个文本字段拖放到另一个文本字段。但是,应该允许手动复制和粘贴

me.commentsText = Ext.widget('textfield',{          
            maxLength: 40,
            enforceMaxLength:true,
            selectOnFocus : true,
            fieldStyle: {
                 'font': 'normal 13px roboto'
             }
}


请告知。

您可以通过删除拖放系列事件中传递的数据来防止拖放副本粘贴。 但是,ExtJS不会从表单字段中公开这些事件,因此您必须获取textfield的Ext.dom.Element并附加到那里。 这样,您就可以选择在将通过拖动传输的数据实际放入新字段之前丢弃该数据

请参见下面的示例:

me.commentsText = Ext.widget('textfield',{          
    maxLength: 40,
    enforceMaxLength:true,
    selectOnFocus : true,
    fieldStyle: {
        'font': 'normal 13px roboto'
    }
});

me.commentsText.getEl().on('drop', function(event) {
    event.preventDefault();
});

谢谢。除了event.dataTransfer.setData('text/plain',null)之外,这对我有效;未定义将错误作为“event.dataTransfer”抛出的行。但是实现了所需的功能。很高兴我能提供帮助。删除了上面示例中的冲突行。刚刚从MDN上的一个普通HTML/JS展示中改编了这个示例。在那里,可以毫无问题地访问eventData属性。()