3

JSとHTML5でファイルプロセッサを実装していますが、Chomeでは期待どおりに機能していますが、Firefoxでは機能していません。

これがjsfiddleです:http://jsfiddle.net/vapocalypse/G9QbX/

Firefoxでは、dropイベントはブラウザに転送され、ブラウザはファイルを開きますが、スクリプトでは処理されません。空のタブに何かを落としたかのように動作します。

私は何が間違っているのですか?getElementByIdを使用してjQueryからネイティブDOMに変更し、ondropメソッドをオーバーライドしようとしましたが、同じ結果になります...

ありがとう、Apoc

4

2 に答える 2

3

私が知る限り、あなたの基本的な問題は、dragoverイベントをキャプチャしようとしている要素のイベントをキャンセルしていないということですdrop。このdrop場合、イベントは無視されます。追加したコードは次のとおりです。

$('#topDiv').bind("dragenter dragover", function(e) {
    e.preventDefault();
    return false;
});

また、コードからフォームを削除し、$(document).ready代わりにすべてのJS onDomReadyを実行するようにjsFiddleを設定しましたが、それほど大きな違いはないと思います。 これが例です。

于 2012-08-24T22:08:43.240 に答える
1

さて、http://jsfiddle.net/G9QbX/75/を参照してください。それはあなたの例に基づいています。理由はわかりませんが、FF14の$.bindまたはaddEventListener関数を介してドラッグオーバーイベントが発生することはありません。例は非常に汚れていますが、機能します。より良い解決策が見つかったら書きます。

于 2012-08-24T22:02:01.693 に答える