5
<div style="display:none;">
    <div id="wmd-editor" class="wmd-panel">
        <div id="wmd-button-bar"></div>
        <textarea id="wmd-input"></textarea>
    </div>
    <div id="wmd-preview" class="wmd-panel"></div>
    <div id="wmd-output" class="wmd-panel"></div>   
</div>  

参照してください、私はderobins-wmdのwmd-test.htmlをフォローしていますが、隠されたdiv内にそれらを置くことを除いて。

uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLTextAreaElement.selectionStart]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://localhost/derobins-wmd-980f687/wmd.js :: anonymous :: line 490" data: no]
uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLTextAreaElement.selectionStart]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://localhost/derobins-wmd-980f687/wmd.js :: anonymous :: line 490" data: no]
4

2 に答える 2

8

textareaが内部にあるパネル全体を非表示にすることに加えて、textarea自体にあることを確認する必要があります。そうすればdisplay:none、問題が解消されます。そうしないと、wmdはtextareaが表示されていないことを検出せず、それに対して計算を行おうとし、あなたが言ったように例外を受け取ります。

単に要素を画面から外すのは不可能であるか、少なくとも一部のレイアウトでは非常に面倒です。さらに、スクリーンリーダーは引き続きこれらの要素を検出し、アクセシビリティが低下します。

あなたは今までに問題を解決したと思いますが、それが誰かの助けになることを願っています。

于 2009-12-05T10:34:21.033 に答える
3

プラグインが高さ/幅を持たない要素を好まない場合は、オフレフト手法を使用できます。

<div style="position: absolute; left: -1000px; width: 100px">
于 2009-10-04T12:34:02.647 に答える