イベントをさまざまな要素にバインドしました。Firefox を除くすべてのブラウザーでイベントをドラッグすると、期待どおりに動作します。ただし、firefox ではまったく機能しません。発生する唯一のイベントはdragstart
であり、他のイベントは発生しません。どうしたの?
質問する
24081 次
5 に答える
34
私はjQueryを使用していないので、そのoriginalEvent
部分を削除してフォーマットをテキストに変更しました(またはIEに問題がありました)。
event.dataTransfer.setData('text', 'anything');
ドロップ イベントでは、必ず以下を呼び出してください。
event.preventDefault();
または、anything.com にジャンプします。
于 2015-09-15T18:03:31.800 に答える
34
Firefox では、ユーザーがdataTransfer.setData
イベントで関数を実行する必要があります。
ユーザーにとってjQuery
は、次のコードで問題が解決されるはずです。
function dragstartHandler(event){
event.originalEvent.dataTransfer.setData('text/plain', 'anything');
}
同じドラッグでの将来のイベントが、期待どおりに適切に発生するようになりました。明らかに、setData
引数をより有用なデータに置き換えることができます。
于 2013-09-27T16:05:48.103 に答える
2
これは、Firefox で発生するリダイレクトに関するこの質問の解決策の参考として使用できます。
この問題を解決するには、drop メソッドのデフォルト アクションを防止する必要があります。
function drop(e) {
if(e.preventDefault) { e.preventDefault(); }
if(e.stopPropagation) { e.stopPropagation(); }
//your code here
return false;
}
私はこのリンクからこの解決策を得ました。
于 2016-10-22T07:02:33.947 に答える