2017-12-17 1 views
1

Also, ich möchte das Ziehen auf alle Bilder auf einer bestimmten Seite deaktivieren. Ich habe diese Arbeit mit ondragstart="return false" gemacht, aber ich hasse es, mit HTML-Attributen zu arbeiten, wenn ich es mit JQuery arbeiten lassen kann (besonders, da es viele Bilder beinhaltet). Der Code, den ich habe ist:Deaktivieren Sie das Ziehen für alle Bilder

const img = document.getElementsByTagName("img") 
for (let i = 0; i < img.length; i++) { 
    img[i].addEventListener("drag", function(a) { 
     a.preventDefault; 
    }); 
} 

Als ich in den Entwickler-Tool sehe ich den Ereignis-Listener auf jedem Bild sehen kann, aber ich kann sie immer noch ziehen. Was ist denn hier los? Übrigens habe ich auch versucht function() {return false}.

+2

, wenn man sie verhindern das Bild dort Computer kopieren Sie werden nur andere ppl genervt machen, und sie werden einen anderen Weg finden, es zu bekommen. Dinge im Internet zu veröffentlichen bedeutet, dass du Dinge mit der Welt teilen wirst. – Endless

+0

@Endless Ich wollte, dass die Bilder wie Buttons aussehen, und sie werden sich nicht so anfühlen, wenn man sie wie normale Bilder ziehen kann. Übrigens, die Bilder sind nicht besonders, also bezweifle ich, dass irgendjemand sie herunterladen möchte ... –

+0

Hast du versucht, 'img [i] .addEventListener (" dragstart "...' '' '' drag'' wird währenddessen ausgelöst Ziehen, so Dragstart ist wahrscheinlich aufgeräumter. – Archer

Antwort

-1

über Wie ...

HTML ondragstart Event Attribute

<body> 
    <img src="html5.png" id="html5" width="256px" height="256px" alt="HTML5" /> 
</body> 

<script> 
    document.getElementById('html5').ondragstart = function() { return false; }; 
</script> 
+0

Das deaktiviert nur das Ziehen des Bildes mit der ID 'html5'. Ich versuche, das Ziehen ** aller ** Bilder auf der Seite zu deaktivieren. –

Verwandte Themen