Firefox - designMode: отключить ручки изменения размера изображения
Как я могу запретить пользователю изменять размер изображения в designMode? (отключите ручки при щелчке по изображению)
Ответы
Ответ 1
Скажите, что вы включаете contentEditable следующим образом:
document.body.contentEditable = true;
Все, что вам нужно сделать, это отключить его для всех (или некоторых) изображений.
var imgs = document.getElementsByTagName("IMG");
for (var i = 0; i < imgs.length; ++i) {
imgs[i].contentEditable = false;
}
Ответ 2
Это отлично работает для Firefox:
document.execCommand("enableObjectResizing", false, false);
Для IE я использовал:
image.attachEvent("onresizestart", function(e) { e.returnValue = false; }, false);
Ответ 3
Я думаю, вы найдете это гораздо более приемлемым. Кажется, работает в Firefox, но я не уверен в других браузерах:
document.execCommand("enableObjectResizing", false, false);
Сохраняет возможность перетаскивания.
Ответ 4
Ну, вы не можете удалить эти обработчики изменения размера ни в Firefox, ни в IE... по крайней мере, я не смог найти решение.
В конце концов мне удалось это сделать в Firefox, отредактировав некоторые файлы конфигурации из папки установки FF, и мы не хотим этого делать, верно?
В любом случае, если вы хотите отключить изменение размера, если изображения (но обработчики изменения размера по-прежнему будут видны), просто добавьте стиль css, например:
img {
width: auto !important;
height: auto !important;
}
С уважением,
Михайло
Ответ 5
Хотя вопрос был давным-давно.
Каждый элемент блока (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" для каждого элемента блока, который вы не хотите иметь дескрипторы, поскольку nickf сказал уже для изображений.
Еще более странно:
присвойте "position: absolute" любому из ваших элементов - даже родительскому div - и он снова обрабатывает.
Ответ 6
Я не могу комментировать и голосовать, поэтому... согласно запросу nmb.ten, вы должны использовать:
document.execCommand("enableObjectResizing", false, false);
Но работает только после вашего содержимого заполняется (я имею в виду, если вам нужно отредактировать какой-либо текст, сохраненный ранее).