2008-11-14 78 views

回答

10

說你把CONTENTEDITABLE上是這樣的:

document.body.contentEditable = true; 

所有你需要做的就是把它關掉了所有(或部分)的圖像。

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

確實爲contenteditable工作。似乎不適用於designMode。該解決方案產生了一個新問題:當圖像移動並釋放時,它會在可編輯區域的插入符號位置創建圖像的副本。任何建議? – dEEf 2008-11-14 09:00:25

+0

我對這兩者都不甚瞭解,因此contentEditable和designMode有什麼區別?如果designMode不起作用,您可以切換到contentEditable嗎? – nickf 2008-11-14 09:07:41

+0

發現問題到我以前的問題(圖像拖動):mousedown - > event.preventDefault(); 感謝尼克,我切換到contentEditable ... – dEEf 2008-11-14 09:09:07

1

嗯,你不能刪除那些既不調整在Firefox也不IE處理......至少我無法找到一個解決方案。

最後我在Firefox中通過編輯FF安裝文件夾中的一些配置文件來管理它,我們不想這樣做,對吧?

無論如何,如果要禁用調整大小,如果圖像(但調整處理仍然是可見的)只需添加一些CSS樣式,如:

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

問候, 米哈伊洛

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」爲你不想處理的每個塊elem,因爲nickf已經說過這些圖像。

更奇怪: 將「position:absolute」賦值給任何元素 - 即使是父div也是如此 - 並且它再次處理。

5

我認爲你會發現這更容易接受。似乎在Firefox的工作,但我不知道其他瀏覽器:

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

它保持拖放能力完好無損。

16

這對Firefox正常工作:

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

對於IE我使用:

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

0

根據nmb.ten的我不能評論和投票卻又如此...答案,您必須使用:

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

它的工作只有在你的內容被填充(我的意思是如果你必須編輯一些文本保存之前)。