2016-12-31 13 views
0

属性がdraggable="true"の場合でも画像がFirefoxでドラッグできない理由はありますか? JSで画像交換スクリプトをデザインしていますが、Firefoxでそれを実行するときにいくつか問題があります。コードはChrome、Edge、IEでうまく動作しますが、Firefoxで画像をドラッグ&ドロップすると、画像がドラッグされるようにブラウザが表示されない(ゴースト画像が表示されない)ので、ドラッグイベントドロップイベントの発生またはトリガーが行われていません。私は、データがない場合は、ドラッグイベントはFirefoxで発火ないことが別の質問で読んFirefoxで要素をドラッグする際の問題

function drag(ev) { 
if (!ev.target.classList.contains(clickClass)) { 
    return; 
} 

ev.dataTransfer.setData("text", ev.target.id); 
document.getElementById(ev.target.id).parentElement.setAttribute('class', 'noclick'); 
}; 

:私はdocument.createElement('img')を介して画像を生成し、

imgElement.setAttribute('draggable', true); 
imgElement.setAttribute('ondragstart', 'drag(event)'); 

私のドラッグ機能と属性を設定していますしかし、それはここで問題とは思われない。

+1

を実施例(コードの部分だけではない)を提供してください。これは助けを得るための最良の方法です。そのためにhttp://jsfiddle.netを使用するか、[スニペット](https://stackoverflow.blog/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/)を作成してください – Dekel

+0

私はjsfiddleを作成し、jsfiddleでは動作するようですが、サイトでは動作しません。問題がJSに関連していないように見えるので、この投稿を削除しても大丈夫でしょうか? – wallabe

答えて

2

代わりのimgElement.setAttribute('ondragstart', 'drag(event)');あなたの代わりにdragstartリスナーを追加する必要があります

imgElement.addEventListener('dragstart', function(e){ 
    drag(e); 
}); 
+1

私はjsfiddleを作成しましたが、jsfiddleでは動作するようですが、サイトでは動作しません。問題がJSに関連していないように見えるので、この投稿を削除しても大丈夫でしょうか? – wallabe

+0

この投稿を削除すると、私はそれから投票を得ることはありません。それを削除する理由はありますか?私は答えがist正しいと思う... – Dekel

+0

私はそれを残すことができる、その問題は、Javascript自体から生ずるように見えない。つまり、古いコードをjsfiddleに差し込んだとき、それは望ましい結果をもたらしました。 – wallabe

関連する問題