左のマウスボタンをシミュレートして指定したx、yの位置(ピクセル単位)にドラッグしてページ上のテキストを選択したいと思います。JavaScriptでテキスト選択をマウスでシミュレートできますか?
JavaScriptでこれを行うことはできますか?
左のマウスボタンをシミュレートして指定したx、yの位置(ピクセル単位)にドラッグしてページ上のテキストを選択したいと思います。JavaScriptでテキスト選択をマウスでシミュレートできますか?
JavaScriptでこれを行うことはできますか?
JavaScriptを使用してこのようにマウスを制御することはできません。
ただし、JavaScriptを使用して直接ドキュメントの一部を選択することができます。たとえば、
var h3s = document.getElementsByTagName("h3");
var range = document.createRange();
range.selectNode(h3s[0]);
window.getSelection().addRange(range);
は、最初のh3要素を選択します。
詳細については、http://www.quirksmode.org/dom/range_intro.htmlも参照してください。
は、ドキュメントのボディ全体を選択するには、使用することができます:var body = document.getElementsByTagName("body")[0];
var range = document.createRange();
range.selectNode(body);
window.getSelection().addRange(range);
が言う、の3文字目、文書の第四段落を選択するには、試してみてください。
var p4 = document.getElementsByTagName("p")[3].firstChild;
var range = document.createRange();
range.setStart(p4, 2);
range.setEnd(p4, 3);
window.getSelection().addRange(range);
私が知る限り、それはできません。あなたが選択できる唯一のテキストは、フォーム要素(テキストエリア、入力テキストなど)にあります。
/** * Select text between 2 elements. Support selection of continuous elements. * @param {Object} element1 begin element. * @param {Object} element2 end element. */ function selectBetweenTwoElements(element1, element2) { if (window.getSelection) { /* all browsers, except IE 8 and IE 7 */ var selection = window.getSelection(); selection.removeAllRanges(); var range = document.createRange(); range.setStart(element1, 0); range.setEnd(element2, 1); selection.addRange(range); } else { /* works fine in IE 8/IE 7 */ if (document.body.createControlRange) { var range1 = document.body.createTextRange(); range1.moveToElementText(element1); var range2 = document.body.createTextRange(); range2.moveToElementText(element2); var range = document.body.createTextRange(); range.setEndPoint("StartToStart", range1); range.setEndPoint("EndToEnd", range2); range.select(); } } }
要素の途中まで選択することはできますか?like、letter#3? また、あなたの例では、さまざまなdivやフォントなどを含むbody要素を選択できるようになっていますか? – thedp
はい - 編集済みの記事を参照してください。 – Andy