ブルート フォースによるドラッグを無効にします。
ポップアップ/ドキュメント全体でドラッグを無効にするには、次のいずれかを実行できます。
function noDrag(event) {
event.preventDefault();
}
document.addEventListener('dragstart',noDrag,true);
document.addEventListener('dragstart',function(event){event.preventDefault();},true);
- または、 popup.html
<html>
の行を次のように変更します。
<html ondragstart='event.preventDefault();'>
私の個人的な好みは、名前noDrag
付き関数を使用することです。クロージャーの代わりに名前付き関数を使用したのは、単に将来のある時点で、どの要素のドラッグを無効にするかを選択したいからです。名前を付けると、同じ関数を再利用したり、必要に応じて要素からリスナーとして削除したりできます。HTML の代わりに JavaScript を使用するのは、A) ポップアップ用の JavaSctipt ファイルが既にあり、B)onxxxxx
イベントの属性/プロパティに関する私の意見では、妥当な場合は避けるべきであるからです。このポップアップに関連付けられた JavaScript ファイルがまだない場合は、HTMLondragstart
メソッドを使用します。
どのように動作するはずですか:
<a>
以下は、 and<img>
要素のドラッグを無効にしません。仕様とドキュメントによると、ドラッグを無効にするために機能するはずです。Firefox のソース コードをさらに掘り下げて、動作しない理由を突き止める必要があります。
Firefox (および HTML 仕様) では、ドラッグ可能な要素は draggable
属性によって制御されます。画像とリンクの場合、デフォルト値は ですtrue
。それ以外の場合、デフォルトは ですfalse
。draggable="false"
HTML 内のそのようなすべての要素を使用するsetAttribute('draggable',false)
か、そのようなすべての要素に対して JavaScript を使用する必要がありelement.draggable = false;
ます。
Firefox には、要素がドラッグ可能かどうかを制御するために使用できる CSS プロパティがありません。
詳細については、次を参照してください。