如何阻止用户在designMode中调整图像大小? (单击图像时禁用手柄)
答案 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);
但只有在您的内容填写完毕后 (我的意思是如果您必须编辑之前保存的某些文字)。