Firefox - designMode: отключить маркеры изменения размера изображения - PullRequest
14 голосов
/ 14 ноября 2008

Как я могу запретить пользователю изменять размер изображения в designMode? (отключить маркеры при нажатии на изображение)

Ответы [ 6 ]

16 голосов
/ 12 июня 2010

Это нормально работает для Firefox:

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

Для IE я использовал:

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

10 голосов
/ 14 ноября 2008

Скажем, вы включаете contentEditable следующим образом:

document.body.contentEditable = true;

Все, что вам нужно сделать, это отключить его для всех (или некоторых) изображений.

var imgs = document.getElementsByTagName("IMG");
for (var i = 0; i < imgs.length; ++i) {
    imgs[i].contentEditable = false;
}
5 голосов
/ 30 апреля 2010

Я думаю, вы найдете это гораздо более приемлемым. Кажется, работает в Firefox, но я не уверен в других браузерах:

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

Оставляет способность перетаскивания без изменений.

1 голос
/ 25 января 2010

Хотя вопрос был давно. Каждый элемент блока (div, img ...) будет украшен ручками из FF. Проверьте это:

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

Без ручек, без изменения размера и т. Д.

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

Размер изображения можно изменить. Поэтому вы должны явно вызывать contenteditable = "false" для каждого элемента блока, у которого вы не хотите иметь дескрипторы, как уже сказал Никф для изображений.

Еще более странно: присвойте "position: absolute" любому из ваших элементов - даже родительскому div - и он снова получит дескрипторы.

1 голос
/ 05 февраля 2009

Ну, вы не можете удалить эти обработчики изменения размера ни в Firefox, ни в IE ... по крайней мере, я не смог найти решение.

В конце мне удалось это сделать в Firefox, отредактировав некоторые файлы конфигурации из установочной папки FF, и мы не хотим этого делать, верно?

В любом случае, если вы хотите отключить изменение размера, если изображения (но обработчики изменения размера все равно будут видны), просто добавьте немного стиля CSS, например:

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

С уважением, Михайло

0 голосов
/ 20 марта 2014

Я пока не могу комментировать и голосовать, так что ... согласно ответу nmb.ten, вы должны использовать:

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

Но это работает только после заполнения вашего контента (я имею в виду, если вам нужно отредактировать некоторый текст, сохраненный ранее).

...