Firefox - designMode:禁用图像大小调整手柄

时间:2008-11-14 07:27:54

标签: image firefox resize contenteditable designmode

如何阻止用户在designMode中调整图像大小? (单击图像时禁用手柄)

6 个答案:

答案 0 :(得分:16)

这适用于Firefox:

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

对于IE我已经使用过:

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

答案 1 :(得分:10)

假设你打开contentEditable就像这样:

document.body.contentEditable = true;

您需要做的就是关闭所有(或部分)图像。

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

答案 2 :(得分:5)

我想你会发现这更容易接受。似乎在Firefox中工作,但我不确定其他浏览器:

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

它使拖放能力保持不变。

答案 3 :(得分:1)

好吧,你无法在Firefox和IE中删除那些调整大小的处理程序......至少我找不到解决方案。

最后我在Firefox中通过编辑FF安装文件夹中的一些配置文件来管理它,我们不想这样做,对吗?

无论如何,如果你想要禁用大小调整图像(但调整大小处理程序仍然可见),只需添加一些css样式,如:

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

的问候,  米哈伊洛

答案 4 :(得分:1)

虽然问题是很久以前的事了。 每个块元素(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 - 它又有句柄。

答案 5 :(得分:0)

我无法发表评论和投票......根据nmb.ten的回答,您必须使用:

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

只有在您的内容填写完毕后 (我的意思是如果您必须编辑之前保存的某些文字)。