問題タブ [rangy]
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.
javascript - ContentEditable Div で Rangy を使用して選択を保存/復元する
私が行った調査によると、Rangy が選択の保存/復元に最適な方法のようです。しかし、私はそれを機能させることができません。
コア ファイルと selectionsaverestore ファイルを含めました。クリックすると次のように起動するボタンがあります。
ログは次を返します。
ただし、contenteditable にマーカー要素が表示されず、復元しようとしても何も起こりません。私は何を間違っていますか?
javascript - jQueryはIE8で.hasをサポートしていませんか?回避策は何ですか?
コード:http : //jsfiddle.net/4hV6c/4/選択するだけで、ie8でスクリプトエラーが発生します
私はこれをやろうとしています:
最近のブラウザ(chrome、ff、operaなど)では、start_nodeがend_node.parentNodeにない場合は[]を返し、見つかった場合は要素(どちらを忘れたか)を返します。
現在、end_nodeはテキスト要素であり、parentNodeは実際のDOMエンティティです。IEは.hasを実行します$(end_node).has(start_node)
が、それは明らかに異なる動作です。
これを機能させるための回避策はありますか?
- IEでは、フィドルはエラーになり、他のブラウザはブール値で警告します。
更新:これは、私の特定のシナリオで.has()をオーバーライドする単語です。すべてを知っているわけではないので、.hasのすべてのケースで機能するかどうかはわかりません。 http://jsfiddle.net/8F57r/13/
javascript - contenteditable div: IE8 は HTML 要素のバックスペース削除に満足していません
カーソル位置に HTML を挿入するために、範囲の広いJavascript ライブラリと組み合わせて contenteditable div を使用しています。
一日の終わりに、div の内容は通常次のようになります。
ユーザーは「@」を押すと提案され、その後、選択するとボタンとして挿入されます (ala Google Plus)。
このボタンの後にも挿入します。
バックスペースを押すと(最初に を削除した後)Chrome / Safari / Firefoxでボタンが削除されますが
、IE8では削除されません。IE8 では、カーソルはボタンを削除せずに単にジャンプします。IE8 でさらに奇妙なのは
、ボタンの隣にカーソルを置き、カーソルをボタンのすぐ隣に置くと、バックスペースのボタンが削除されることです。なので
、カーソルの右側に があると嬉しいです。
IE8を動作させるために必要なものを知っている人
はいますか?カーソルの右側にある必要なく、バックスペースでボタンを削除しますか? (この奇妙な動作に関する情報も役立つかもしれません)
PS私はIEの他のバージョンをテストしていません
javascript - コンテンツの編集可能なdivでカーソルキー(左、右、下、上矢印)をシミュレートしますか?
コンテンツの編集可能なdivで矢印キーをシミュレートすることは可能ですか?「キープレス」イベントを発生させようとしましたが、contenteditableはそれらを無視しているようです。(Webkit / safariソリューションが必要です)
矢印キーのように、プログラムでdiv内にカレットを移動する必要があります。
おそらく、Tim DownのRangyライブラリが役に立ちますか?
ありがとう!
javascript - Rangy を使用した iOS スタイルの書式設定コールアウト
私はRangy(http://code.google.com/p/rangy/)を見ています.DOMユーティリティがたくさんあるようですが、例がないと理解できません。だから私は自分のアイデアでSOに目を向けています。うまくいけば、これがどのように行われるかを教えてくれます:
Rangy で行う必要があるのは、Rangy を使用して選択範囲の位置とサイズを見つけることです。ドキュメントまたは親要素に関連するかどうかにかかわらず、選択範囲のフレームまたは Rect を取得したい。その後、それに応じてコールアウトを配置できます。
javascript - Rangy を使用して IFRAME から選択したテキストを取得する
この関数を使用して、Rangy を使用して Iframe の選択したテキストを取得しようとしています。
このコードは機能していません。Iframe の選択したテキストを取得するにはどうすればよいですか?
javascript - Rangy が contenteditable div のバックスペースでキャレットの位置を失う
私は何日もの間、Rangy のすべての Q&A を調査しましたが、このケースには何も適応できませんでした。
私は次のコンテンツ編集可能を持っています
ユーザーが何かを入力するたびに、コンテンツを解析して特定のトークンをフォーマットする関数を呼び出します。
このフォーラムの他の投稿で著者が提示した次の Rangy ベースの関数を使用します。
キャラクターを削除しようとするまで、すべてが完全に機能します。その時点で、カーソルは div の先頭にジャンプします。
なぜこれが起こるのか、何か考えはありますか?
どうもありがとう。
javascript - rangyライブラリを使用して選択したテキストの親ノードを取得する
私はrangyライブラリを使用しており、次のように編集可能なコンテンツ内のテキストを選択できます。
選択したテキストの親ノード/要素を取得する方法がわかりません。たとえば、次のようなテキストを選択している場合
ストロングノードまたはH1要素も含めるにはどうすればよいですか?
selection - Rangy ライブラリが Opera の contenteditable で機能しないのはなぜですか?
contenteditable DIV内で人気のあるRangyライブラリを使用しています。私のコードはとてもシンプルです:
現在、これは Chrome と FF でかなりうまく機能します。ただし、Opera では、contenteditable に文字を挿入することができず、むしろフォーカスが失われるか、少なくともそのように見えるため、非常に奇妙な動作をします。
テスト用に jsFiddle を用意しました。Opera では、編集可能な DIV に文字を入力することはできません: http://jsfiddle.net/twST6/1/
このコードを Opera で動作させる方法を誰かが説明して解決できますか?
助けてくれてありがとう。