Entfernen resize-Handler, die auf contentEditable div
Erstellte ich eine contentEditable div zu verwenden, als eine reiche textarea. Es hat die Größe Handler um ihn herum, die würde ich gerne loswerden. Irgendeine Idee, wie ich würde dies tun?
Edit: Dies scheint passiert zu sein, denn ich bin absolut Positionierung der div, also Firefox fügt einen ärgerlich _moz_resize-Attribut zu dem element, das ich nicht ausschalten können.
- Open source, richtig? 🙂
- Nein, das ist weder open-source noch open-Source.
- Als eine Arbeit um, ist es möglich, verwenden Sie eine alternative für DIV, dass ist funktionell das gleiche, aber nicht die Größenänderung Handler auf Inhalte bearbeitet werden können (ich habe gerade getestet mit ARTIKEL auf IE 11 oder FireFox 63.0.1) ist dies keine Lösung auf die Frage - es ist ein Schlamassel. Aber ist eine option, wenn Sie müssen diese Funktionalität
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur als Randbemerkung, können Sie Sie deaktivieren Firefox die automatische resize-handle-Funktion, indem Sie die (etwas schlecht dokumentiert)
enableObjectResizing
Befehl, um das Dokument:AFAIK, dies kann nur sicher erfolgen, nachdem das Dokument geladen wurde, und es gibt keine Weise, die ich kenne, deaktivieren Sie den grabber, das ist eine separate Funktion.
Wie es aussieht, werde ich in der Lage sein, dies zu umgehen, indem ein wrapper-div und absolut Positionierung der wrapper und dann das innere div contentEditable.
In Chrome 39, diese Griffe scheinen nicht zu existieren, selbst wenn Sie es wollte.
In Firefox, kann man einfach mit
execCommand
wie ZoogieZork beantwortet.Aber im Internet Explorer diese können nicht ausgeschaltet werden. Es muss umgangen werden.
In WYMeditor Entwicklung, hier ist was ich gefunden habe.
Folgende Ergebnisse:
mouseup
mouseup
führen zu einem Bild ausgewählt werden.Dies ist die beste, ich könnte kommen mit nach Stunden sehr Tiefe Atemzüge. Ich denke, es ist gut genug, wenn Sie wirklich wollen, um loszuwerden, die Griffe.
Im IE Einstellung
oncontrolselect
zurückfalse
auf dem Bild, wirklich verhindern, dass diese Griffe angezeigt, und Sie können es geschickt, indem Sie die folgende Prozedur, um diemousedown
Veranstaltung:Es tatsächlich nicht funktioniert ganz gut. Der Grund, dass es nicht sehr gut funktioniert ist, dass, um zu beginnen, eine drag-und-drop-Vorgang auf das Bild, den musste man drücken und halten Sie die Maus, ohne diesen zu bewegen, für den Bruchteil einer Sekunde, und nur dann beginnen, verschieben für der ziehen. Wenn der eine drückte die Maus und begann sofort, Sie zu ziehen, das Bild würde dabei an seinem Platz bleiben und nicht verschoben werden.
So wollte ich das nicht tun.
Was ich gemacht habe ist die folgende. In allen Browser, die ich verwendet
mouseup
zum text wählen Sie das target-Bild ausschließlich. In nicht-IE und IE11, synchron:Im IE 7 bis 10, asynchron:
Dies sorgte dafür, dass nach diesen Griffe auftauchen, verschwinden Sie so schnell wie möglich, denn das Bild verliert seine "Kontrolle-Auswahl", denn diese Auswahl ist durch einen regulären text-Auswahl.
Im Internet Explorer 7 bis 11, befestigte ich einen handler zu
dragend
entfernt alle Auswahl:Dies macht die Griffe, die zeigen, bis nach dem drag-and-drop, verschwinden.
Ich hoffe das hilft und ich hoffe, dass Sie es noch besser machen können.
für IE11 (ich havn ' T getestet, die ältere Versionen von IE, aber ich fühle mich wie es funktionieren würde) Sie können hinzufügen, contenteditable="false" - Attribut der img-tag. Dies verhindert, dass die re-sizing nicht getan, während drag-and-drop in Ort.
... nur das beste Update jemals
oder ein beliebiges html-element umschließt, die Ihre input/img
Funktioniert auf IE11 wie ein Charme
Ich nur ehrlich, dass problem.
Ich habe versucht
document.execCommand("enableObjectResizing", false, false);
aber, das verschieben-Symbol war noch zu erscheinen. Was nur fix mein problem war nure.preventDefault()
wennonmousedown
Ereignis Auftritt.Haben Sie versucht, indem Sie den Stil
div?