Frage

Wie kann ich verhindern, dass der Benutzer in der Lage, ein Bild in designmode, um die Größe? (Deaktivieren Sie die Griffe, wenn Bild geklickt wird)

War es hilfreich?

Lösung

Sagen Sie contentEditable einschalten wie folgt aus:

document.body.contentEditable = true;

Alles, was Sie tun müssen, ist es ausschalten für alle (oder einige) Bilder.

var imgs = document.getElementsByTagName("IMG");
for (var i = 0; i < imgs.length; ++i) {
    imgs[i].contentEditable = false;
}

Andere Tipps

Dies funktioniert für Firefox:

document.execCommand("enableObjectResizing", false, false);

Für IE habe ich verwendet:

image.attachEvent("onresizestart", function(e) { e.returnValue = false; }, false);

Ich glaube, Sie werden diese finden viel mehr akzeptabel. Scheint in Firefox zu arbeiten, aber ich bin mir nicht sicher über anderen Browser:

document.execCommand("enableObjectResizing", false, false);

Er verlässt die Drag & Drop-Fähigkeit erhalten.

Nun können Sie nicht entfernen Sie diese Handler die Größe weder in Firefox noch IE ... zumindest konnte ich nicht eine Lösung finden.

Am Ende habe ich es geschafft, dass in Firefox und bearbeite einige Konfigurationsdateien von FF-Installationsordner und wir nicht tun wollen, oder?

Wie auch immer, wenn Sie möchten, Ändern der Größe deaktivieren, wenn Bilder (aber die Größe Handler wird immer noch sichtbar sein) nur einig CSS-Stil wie hinzufügen:

img {
    width: auto !important;
    height: auto !important;
}

Grüße,  Mihailo

Auch wenn die Frage schon vor langer Zeit war. Jedes Blockelement (div, img ...) wird mit Griffen aus FF dekoriert werden. Testen Sie es:

<div id="myDiv" contenteditable="true"><p>Sample text!</p></div>

Keine Griffe, keine Resize etc.

<div id="myDiv" contenteditable="true"><p>Sample text!</p><img src="picture.jpg" /></div>

Das Bild kann die Größe neu bestimmt werden. So haben Sie explizit für jeden Block Elem contenteditable = „false“ rufen Sie nicht wollen, Griffe haben, wie Nickf schon gesagt, für die Bilder.

Noch seltsam: zuweisen „position: absolute“. auf alle Ihre Elemente - auch die übergeordneten div - und es hat wieder Griffe

Ich kann nicht sagen, und doch so stimmen ... nach nmb.ten Antwort, müssen Sie verwenden:

document.execCommand("enableObjectResizing", false, false);

Aber es funktioniert erst nach Ihre Inhalte in gefüllt ist (ich meine, wenn Sie vor einigen Text gespeichert bearbeiten haben).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top