2

document.ondropはchromeで動作するようですが、firefoxでは動作しませんか?

添付されているのは例です:http: //auth.letschat.info/test2.php

ファイルをページにドロップすると、アラートボックスがポップアップ表示されます。ただし、Firefoxでは機能しませんが、Chromeでは機能します。

Firefoxコンソールを使用すると、document.ondropハンドラーが正しく設定されます。

4

1 に答える 1

7

元のJavaScriptが次のようになり、Chromeで機能すると仮定します。

document.ondrop=function(event){
    alert("hello");
}

FirefoxとChromeの両方で動作するように変更できます。Firefoxでは、ファイルをドラッグするときにデフォルトのアクションが発生しないようにする必要があります。これは、ondragoverイベントを使用して解決できます。次のJavaScriptコードはFirefoxでも機能します。

document.ondragover = function(event){
    event.preventDefault();
}
document.ondrop=function(event){
    alert("hello");
}

私はw3schoolsを見て、それらの単純な例とあなたのコードの違いを探すことによってこの解決策を見つけました。

スライド#18のhtml5rocksから、ページにリスナーを追加してドラッグアンドドロップを使用する別の方法のhtml5の例もあります。

于 2012-07-23T07:17:34.547 に答える