2

これについて多くの調査を行いましたが、この問題を解決できません。TinyMCE インスタンスをオンにする前に非表示にしたいいくつかの Div を含む Div があります。

私はjQuery経由でこれをやっています -

$(".drop").hide()

これは問題なく動作し、Trident (IE) 以外のすべてのブラウザー エンジンはそれらを非表示にします。IE で要素を調べると、css は「display:none」を示します。

MSDN のこれを含む、これらの要素を表示するための IE の機能である方法についてのいくつかの記事とメモを見つけました: http://msdn.microsoft.com/en-us/library/aa770023(VS.85).aspx

問題は、それらを非表示にする必要があることです。何か案は?

4

3 に答える 3

4

これは、編集可能な要素内では、IE が display: none, editable で非表示になっている要素を含むすべてを作成するためです。ページの DOM から隠したい要素を削除する以外にできることはありません。

ここに IE のこの動作への参照があります: http://msdn.microsoft.com/en-us/library/aa770023%28VS.85%29.aspx

于 2009-08-18T15:21:26.430 に答える
0

表示を none 以外に設定するスタイルを適用してみてください。次に例を示します。

.drop
{
    display: block; // or inline
}

これは、要素に対して特定の操作を実行するために要素に「レイアウトを持たせる」必要があり、それらの1つであることを隠していることが原因のようです。ブロックの表示タイプが指定された要素には、レイアウトが必要です。つまり、スペースを占有し、ブラウザーがその周りの兄弟要素を再編成するように強制します。

于 2008-12-31T22:54:01.273 に答える
0

私が覚えている限り、tinyMCE は iframe を使用して編集し、iframe 内で編集モードを有効にしているため、tinyMCE をロードする前に編集モードになっている場合は、外側のドキュメントを編集モードにする必要があります。

明確にするために、iframe の内部に影響を与えようとしていますか、それとも tinyMCE が display: none を含むコンテンツを読み込んでいますか?

display: none を使用してコンテンツを tinyMCE にロードしている場合、額面どおり、ロード時にノードを削除し、保存時に同じ位置に再挿入するという厄介な回避策を実行する必要がある場合があります。

私が見ることができる唯一の利点は、ノードの両側でテキストを選択するだけで、他のブラウザーで非表示のノードを無意識のうちに削除するかどうかです。

于 2009-01-09T23:11:51.527 に答える