一千萬個為什麽

搜索

如何禁用_moz_resizing?

我正在使用nicEdit編輯器,我已經添加了自己的自定義圖像大小調整腳本。但我想禁用Firefox中出現的默認_moz_resizing。

我希望能夠更好地控制正在調整大小的圖像。 (例如:僅允許圖像調整大小並繼承父容器的寬度。)

所以我寫了一個自定義腳本。但由於Firefox有自己的圖像大小調整控件(_moz_resizing),我如何禁用它?如果沒有辦法,我有一個非常簡單的解決方法,我檢測Firefox是否關閉我的自定義腳本並使用_moz_resizing。

但我不會有細粒度的控制,我將不得不依賴Firefox中的瀏覽器錯誤。 :(

最佳答案

在Firefox中,可以使用 enableObjectResizing 命令禁用本機圖像大小調整控件。必須在將designMode設置為“on”後執行此命令。

document.designMode = "on";
document.execCommand('enableObjectResizing', false, 'false');

禁用本機調整大小控件後,您不應該看到_moz_resizing屬性出現。它顯示為本機控件的副作用,但屬性的存在或值不會直接影響控件本身。其唯一目的是在重新調整大小的元素周圍觸發細黑色輪廓。

大多數瀏覽器內的富文本編輯器都使用iframe來顯示其內容。如果此iframe的CSS位置發生更改(例如,從靜態更改為絕對),則將撤消enableObjectResizing命令的效果。可以重復該命令以再次關閉本機控件。這非常令人困惑,因為沒有跡象表明情況確實如此,但確實如此。如果enableObjectResizing對您不起作用,請確保在之後設置設置任何CSS位置值。

另請註意,“enableObjectResizing”命令將影響圖像和絕對定位元素的縮放器(如果在可編輯內容區域中存在任何此類元素)。

我準備了一個最小測試頁,其中舉例說明了這個例子。

轉載註明原文: 如何禁用_moz_resizing?