問題タブ [textrange]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
20201 参照

javascript - Javascript: キャレットを最後の文字に移動

テキストエリアがあり、クリックするとキャレットを最後の文字に移動したいのでSomething[caret]

私が知っているように、これは TextRange オブジェクトで何とか可能ですが、それを使用する方法が本当にわかりません

編集:純粋な JavaScript ソリューションのみを見たいので、ライブラリは使用しないでください。

0 投票する
2 に答える
1742 参照

javascript - Internet Explorer と同等の range.startOffset

range.startOffsetInternet Explorer 8 以前と同等の機能を得るにはどうすればよいですか?

つまり、コンテナ内で範囲が始まる文字数を教えてくれる、範囲に対して呼び出すことができる関数が欲しいのです。

0 投票する
4 に答える
85668 参照

javascript - 親コンテナを基準にした範囲の開始オフセットと終了オフセットを取得します

このHTML要素があるとします。

そして、ユーザーはマウスで「ホーム」を選択します。

#parent彼の選択の開始文字数(および彼の選択の終了からの文字数)を判別できるようにしたいと思います#parent。これは、彼がHTMLタグを選択した場合でも機能するはずです。(そして私はそれがすべてのブラウザで動作する必要があります)

range.startOffset有望に見えますが、範囲の直接のコンテナに対してのみ相対的なオフセットであり、コンテナがテキストノードである場合にのみ文字オフセットです。

0 投票する
1 に答える
3786 参照

javascript - Chrome や IE で JS を使用して複数のテキスト領域を選択する方法はありますか?

Firefox 3 は、JS を使用して複数のテキスト領域を選択できます。Chrome と IE でこれを行う方法はありますか?

Chrome と IE9 で Web ページ内の複数のテキストエリアを選択する方法を実際に見つけようとしました。


情報: http://help.dottoro.com/ljxsqnoi.php


例: http://jsfiddle.net/t3sWz/


コード FireFox3.5+ のみ... (ただし、これが問題です):

0 投票する
1 に答える
2044 参照

javascript - contentEditableDIVのプレースホルダー要素にカーソルを移動します

contentEditable DIVがあり、ユーザーがキーを押すと、基になるコードが処理され、更新されたコードに置き換えられます。残念ながら、これによりカーソル位置が失われます。

ただし、カーソル位置を保持するために、<span id="placeholder"></span>処理を開始する前に、DIVの正しい位置にaを正常に挿入しています。これにより、カーソルの意図した位置が保持されますが、選択する範囲を設定できないようです。

これが私が現在持っているものです:

どんな助けでもありがたいです、そしてクロスブラウザソリューションは信じられないでしょう:)

0 投票する
4 に答える
12422 参照

c# - C# から PowerPoint の TextRange のフォントの色を変更するにはどうすればよいですか?

C# を使用して PowerPoint プレゼンテーションを作成しました。

では、フォントの色を変更するにはどうすればよいobjTextRngですか?

0 投票する
1 に答える
8058 参照

javascript - 編集可能な IFRAME のキャレット位置にテキストを挿入する (IE)

私は実際に簡単な問題に苦しんでいます: Internet Explorer で、現在のキャレット位置にプレーン テキストを挿入したいと考えています。これは、単純な TEXTAREA 要素では非常にうまく機能しますが、私が持っている編集可能な IFRAME では完全には機能しません。

私が使用するスクリプトでは、テキストを HTML としてカーソル位置に貼り付けるために使用する IFRAME のドキュメントから TextRange オブジェクトを作成しています。

IFRAME でテキストを選択すると、選択が「foo」に置き換えられます。これは予期された動作です。しかし、キャレットをテキストのどこかに置くと、挿入が機能しません。

単純な TEXTAREA 要素でうまく機能するため、カーソルをどこかに置くだけの場合に「実際の選択」がないため、これは一般的な動作ですか、それとも IE の編集可能な IFRAME のバグですか?

回避策はありますか?

0 投票する
4 に答える
880 参照

javascript - javascript - 複数のCreateTextRangeを同時に

以下の JavaScript 関数があります。「Department」などの単語が渡されると、画面上で見つかった「Department」の最初のインスタンスが赤で強調表示されます。ただし、このコードで、指定された単語のすべてのインスタンスを強調表示したいと思います。

0 投票する
5 に答える
2684 参照

javascript - 選択範囲内にリンク要素があるかどうかを知る方法

AJavascriptでは、要素、たとえば要素が特定の範囲/textRange内に存在するかどうかを確認したいと思います。目的は、ユーザーの現在の選択にリンクが含まれているかどうかを判断することです。リッチテキストエディタコントロールを構築しています。

範囲オブジェクトには、範囲内のすべての要素の最も近い共通の祖先を返すcommonAncestorContainer(W3C)またはparentElement()(Microsoft)メソッドがあります。Aただし、範囲は親の途中で開始または終了する可能性があるため、この共通の祖先には範囲内にない要素も含まれている可能性があるため、この要素の内部で要素を探すことはできません。

これをどのように達成しますか?

0 投票する
4 に答える
51260 参照

javascript - JavaScriptを使用してテキスト範囲を強調表示する

開始位置と終了位置で示される特定のテキスト範囲を強調表示(cssを適用)したいと思います。テキスト内に無視する必要のある他のタグがある可能性があるため、これは見た目よりも困難です。

例:

highlight(2, 6)"cdefタグを削除せずに「」を強調表示する必要があります。

すでにTextRangeオブジェクトを使用しようとしましたが、成功しませんでした。

前もって感謝します!