ホームページ ウェブフロントエンド jsチュートリアル js TextArea選択領域処理_javascriptスキル

js TextArea選択領域処理_javascriptスキル

May 16, 2016 pm 06:13 PM
textarea

(1) Textareaの選択範囲の開始点、または選択範囲がない場合の入力カーソル位置を取得
FirefoxやChromeなどIE以外のブラウザは選択をサポートしており、選択範囲を取得しますこの属性をサポートするには、TextRange オブジェクトの CompareEndPoints メソッドを使用して開始点を比較することで、この属性を間接的に取得する必要があります。
コードをコピーします コードは次のとおりです:

getStartPos : function( textarea )
{
if ( typeof textarea.selectionStart != 'unknown' )
{ // 非 IE
start = textarea.selectionStart;
}
else
{ // IE
var range = document.selection.createRange();
var range_textarea = document.body.createTextRange();
range_textarea .moveToElementText(textarea);// 開始点
を比較しますvar sel_start = 0 ; range_textarea .compareEndPoints('StartToStart' , range)
range_textarea .moveStart( 'character', 1); // else

return start;
}


ただし、注意すべき点は、chrome では、textarea が readonley に設定されている場合、入力カーソルは textarea に表示されず、返されたselectionStartとselectionEndは両方とも0です。.firefoxでは正常です。

(2) Textarea に選択範​​囲を設定

同様に、IE 以外のブラウザでは選択文字範囲を指定する setSelectionRange メソッドがサポートされていますが、IE ではサポートされていないため、 TextRange 操作でも実行されますが、ここで注意する必要があるのは、IE での Textarea の選択範囲の相対位置です。たとえば、次のコードは、最初に moveStart と moveEnd で開始点と終了点の両方を 0 に設定します。折りたたみ移動が有効になった後、開始点は変更されません。最初の moveEnd は移動区間の終了点を移動し、次に moveStart が移動します。区間の開始点 開始点が変更される前に、相対的な位置が変更されないことが保証されるため、理解しやすくなります。
コードをコピー コードは次のとおりです: /**
*テキストエリアの選択範囲を設定
*/
setSelectRange : function( textarea, start, end )
{
if ( typeof textarea.createTextRange != 'unknown' )// IE
{
var range = textarea.createTextRange(); // まず相対的な開始点を 0 に移動します。
range.moveStart( "character", 0)
range.moveEnd( "character", 0); // 移動します。開始するカーソル
range.moveEnd( "character", end);
range.moveStart( "character", start); // if
else if ( typeof textarea.setSelectionRange != '未定義' )
{
textarea.setSelectionRange(start, end)
textarea.focus(); // else
}


選択領域の取得と設定メソッドを実装すれば、テキストの挿入や置換などのその他の実装は比較的簡単になります。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

モバイル開発用のモバイルチートシート10個 モバイル開発用のモバイルチートシート10個 Mar 05, 2025 am 12:43 AM

この投稿は、Android、BlackBerry、およびiPhoneアプリ開発用の有用なチートシート、リファレンスガイド、クイックレシピ、コードスニペットをコンパイルします。 開発者がいないべきではありません! タッチジェスチャーリファレンスガイド(PDF) Desigの貴重なリソース

ソースビューアーでjQueryの知識を向上させます ソースビューアーでjQueryの知識を向上させます Mar 05, 2025 am 12:54 AM

jQueryは素晴らしいJavaScriptフレームワークです。ただし、他のライブラリと同様に、何が起こっているのかを発見するためにフードの下に入る必要がある場合があります。おそらく、バグをトレースしているか、jQueryが特定のUIをどのように達成するかに興味があるからです

10 jQueryの楽しみとゲームプラグイン 10 jQueryの楽しみとゲームプラグイン Mar 08, 2025 am 12:42 AM

10の楽しいjQueryゲームプラグインして、あなたのウェブサイトをより魅力的にし、ユーザーの粘着性を高めます! Flashは依然としてカジュアルなWebゲームを開発するのに最適なソフトウェアですが、jQueryは驚くべき効果を生み出すこともできます。また、純粋なアクションフラッシュゲームに匹敵するものではありませんが、場合によってはブラウザで予期せぬ楽しみもできます。 jquery tic toeゲーム ゲームプログラミングの「Hello World」には、JQueryバージョンがあります。 ソースコード jQueryクレイジーワードコンポジションゲーム これは空白のゲームであり、単語の文脈を知らないために奇妙な結果を生み出すことができます。 ソースコード jquery鉱山の掃引ゲーム

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

jQuery Parallaxチュートリアル - アニメーションヘッダーの背景 jQuery Parallaxチュートリアル - アニメーションヘッダーの背景 Mar 08, 2025 am 12:39 AM

このチュートリアルでは、jQueryを使用して魅惑的な視差の背景効果を作成する方法を示しています。 見事な視覚的な深さを作成するレイヤー画像を備えたヘッダーバナーを構築します。 更新されたプラグインは、jQuery 1.6.4以降で動作します。 ダウンロードしてください

See all articles