3

designmode がオンになっている iFrame があります。ドキュメントには、ユーザーがメニュー選択を介して貼り付けることができるいくつかの「特別な」要素があります(固定されたより広いアプリケーション内で使用されるカスタム文字/識別子/説明)。これらの html 要素を変更から保護し、ユーザーがそれらを選択または削除することを選択した場合は、それらを単一のエンティティとして扱う必要があります。iframe の例は次のようになります。

<iframe>
    <html dir="ltr">
        <head></head>
        <body class="editableDoc">
            <p>Here is a <span class="special readonly">SPECIAL</span> character</p>
        </body>
    </html>
</iframe>

デザインモードでは、必要に応じて本文全体のコンテンツを編集できます。

「読み取り専用」スパンを保護する最善の方法は何ですか? 私ができる最善の説明は、すべてのユーザー テキスト操作 (つまり、カーソルの移動、選択、削除) に対して、スパンとその内容を 1 文字であるかのように扱いたいということです。span 要素に contenteditable="false" を設定しようとしましたが、これにより多くの望ましい効果が得られますが、IE8/9 ではうまく機能せず、他のブラウザーでは他の小さな問題があります。さらに、同じソリューションで designmode と contenteditable を混在させるのが良い考えかどうかはわかりません。

4

2 に答える 2

2

read-onlyCSS プロパティの値を使用してuser-modify、Firefox と Chrome でスパンを保護します。

<iframe src="about:blank" srcdoc="<body contenteditable><span style='-webkit-user-modify: read-only; -moz-user-modify: read-only;'>Hi</span></body>">
</iframe>
于 2012-10-19T02:56:14.560 に答える