2017-07-25 9 views
0

私の要件は、あるテキストフィールドから他のテキストフィールドへのテキストのドラッグアンドドロップを無効にする必要があるということです。ただし、手動のコピーと貼り付けは許可する必要があります。ExtJSを使用してテキストフィールド内のテキストドラッグを無効にする

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

enter image description here

親切に教えてください。

答えて

1

ドラッグ&ドロップコピー貼り付けを防止するには、一連のドラッグアンドドロップで渡されたデータを削除します。 しかし、ExtJSはこれらのイベントをフォームフィールドから公開しないので、テキストフィールドの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(); 
}); 
+0

おかげで多くのことを。これは、event.dataTransfer.setData( 'text/plain'、null);を除いて私のために働いていました。 'event.dataTransfer'というエラーを投げている行は定義されていません。目的の機能が達成されています。 – Sreek521

+1

うれしい私は助けることができます。上記の例で競合する行を削除しました。 MDN上のプレーンなHTML/JSショーケースの例をそのまま適用しました。 eventDataプロパティは問題なくアクセスできました。 (https://developer.mozilla.org/en-US/docs/Web/Events/drop#Example) – Mastacheata

関連する問題