No.2ベストアンサー
- 回答日時:
とりあえず、サンプルとして、一文字を取り出すものを作ってみました。
IEのみで動作します。
文字は、取り出したい文字の先頭付近をクリックします。
(そういう感じにしないと次の文字が取り出されます)
----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>サンプル</title>
<script language="JScript">
<!--
function clickChar() {
var range = document.body.createTextRange();
range.moveToPoint(event.clientX, event.clientY);
range.expand("character");
range.select();
alert(range.text);
}
//-->
</script>
</head>
<body onclick="clickChar()">
<h1 class=title>タイトル文字などもある</h1>
文字列が、地の文として入力されている。</br>
クリックされた文字を取り出す。
<hr>
<address>
mailto: your@email.ne.jp<br>
</address>
</body>
</html>
回答ありがとうございます。
サンプルソースまで掲載していただき、感謝です。
おかげさまで、マウスクリックした地点の文字を取り込むことができるようになりました。
No.3
- 回答日時:
Firefox/Safari 用。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>サンプル</title><script type="text/javascript">
addEventListener ('load', function () {
////////////////////
function getSelectedChar (root) {
var s = window.getSelection (); // Opera の document.getSelection ではうまくいかない
var n = s.anchorNode;
var i = s.anchorOffset;
return { strChar : n.nodeValue.charAt (i), index : isContainerOf (root, n) ? countCharOffset (root, n, i) : null };
}
function isContainerOf (root, textNode) {
var cn = textNode;
while (cn = cn.parentNode) if (cn == root) return true;
return false;
}
function countCharOffset (root, textNode, charOffset) {
var tw = document.createTreeWalker (root, NodeFilter.SHOW_TEXT | NodeFilter.SHOW_ENTITY_REFERENCE, null, true);
var cn;
var i = charOffset;
while ((cn = tw.nextNode ()) && (cn != textNode)) i += cn.nodeValue.replace (/^\s+/, '').length;
return i;
}
// for test
document.body.addEventListener ('click', function () {
var node;
var s;
node = document.getElementsByTagName ('body')[0];
s = getSelectedChar (node);
alert ( s.strChar + ' (' + s.index + ' th in ' + node.nodeName + '-element)');
node = document.getElementsByTagName ('p')[0];
s = getSelectedChar (node);
alert ( s.strChar + ' (' + s.index + ' th in ' + node.nodeName + '-element)');
}, false);
//////////////////////
}, false);
</script></head><body>
<h1>サンプル</h1>
<p>文字列が、<strong>地の文として</strong>入力されている。クリックされた<em>文字</em>を取り出す。</p>
</body></html>
参考URL:http://lxr.mozilla.org/mozilla/source/content/ba …
回答ありがとうございます。
サンプルソースまで掲載していただき、感謝です。
おかげさまで、マウスクリックした地点の文字を取り込むことができるようになりました。
No.1
- 回答日時:
IEの場合、範囲指定した文字列(あるいは、前後がスペースになっているような単語は、クリックして範囲拡大することで、1文字も可)は、取得できます。
そういうのでもいいのでしょうか?
HTML中の何行目、何文字目というのはムリっぽいと思います。
段落が<p></p>の様になっているのだったらいくつ目の段落というのは、取得できるように思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- FC2ブログ テキスト版からURLも表示できるように設定できないのでしょうか。 ブログにURLを載せようとしたら文 2 2023/02/12 11:20
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- JavaScript javascriptで文字分割は、 split() などメソッド不要??? 4 2023/02/06 22:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォーカス移動抑止について
-
iframeの中から親ページをスム...
-
JavaScript でキーを送る
-
getElementsByNameで要素が取得...
-
キーを押している間の時間を計...
-
function の return 値を表示し...
-
JavaScriptでのEnterキーとAlt+...
-
マウスオーバーで文字にアンダ...
-
ボタンを押してテキストエリア...
-
JavaScriptでiframeの内容を「...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
SQLのWHEREで全てを質問する方法
-
テーブル内の数値を自動で計算...
-
javascriptとApacheの設定
-
テキストをクリックすると答え...
-
javascriptでalertの文字列をコ...
-
cssにjavascriptを入れる?呼び...
-
Jquery.PHPファイルのechoが表...
-
onbeforeunload時のwindow.open...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
getElementsByNameで要素が取得...
-
SCRIPT5007: 未定義または NULL...
-
初心者javascript ウィンドウサ...
-
function の return 値を表示し...
-
JavaScriptでiframeの内容を「...
-
JavaScript でキーを送る
-
フォーカス移動抑止について
-
iframeの中から親ページをスム...
-
html javascript 作った配列を...
-
ボタンのID名を取得するには?
-
キーを押している間の時間を計...
-
自動ジャンプでフォームデータ...
-
bodyタグのfocus
-
リンク移動先のURLを取得
-
チェックボックスの選択パター...
-
JavaScriptでの西暦下2桁での表...
-
htaでVBSのソースを書いたらエ...
-
乱数を一定時間毎に表示させた...
-
「オブジェクトを指定してくだ...
-
jQuery ツールチップの中のリンク
おすすめ情報