mozilla

Revision 400563 of Selection.modify()

  • Revision slug: Web/API/Selection/modify
  • Revision title: modify
  • Revision id: 400563
  • Created:
  • Creator: Sheppy
  • Is current revision? No
  • Comment 12 words added, 1 words removedDOM/Selection/modify Web/API/Selection/modify

Revision Content

{{ DomRef() }}

{{ gecko_minversion_header("2") }}

Summary

Applies a change to the current selection or cursor position, using simple textual commands.

Note: This method is based on the WebKit method of the same name.

Syntax

sel.modify(alter, direction, granularity)

Parameters

alter
The type of change to apply. Specify "move" to move the current cursor position or "extend" to extend the current selection.
direction
The direction in which to adjust the current selection. You can specify "forward" or "backward" to adjust in the appropriate direction based on the language at the selection point. If you want to adjust in a specific direction, you can specify "left" or "right".
granularity
The distance to adjust the current selection or cursor position. You can move by "character", "word", "sentence", "line", "paragraph", "lineboundary", "sentenceboundary", "paragraphboundary", or "documentboundary".
Note: Gecko does not implement "sentence", "paragraph", "sentenceboundary", "paragraphboundary", or "documentboundary".

{{ gecko_callout_heading("5.0") }}

Starting in Gecko 5.0 {{ geckoRelease("5.0") }}, the "word" granularity no longer includes the following space, regardless of the default platform behavior. This makes the behavior more consistent, as well as making it work the same way WebKit used to work, but unfortunately they have recently changed their behavior.

Example

To extend the current text selection to include the next word:

var selection = window.getSelection();
selection.modify("extend", "forward", "word");

Revision Source

<p>{{ DomRef() }}</p>
<p>{{ gecko_minversion_header("2") }}</p>
<h3 id="Summary" name="Summary">Summary</h3>
<p>Applies a change to the current selection or cursor position, using simple textual commands.</p>
<div class="note"><strong>Note:</strong> This method is based on the WebKit method of the same name.</div>
<h3 id="Syntax" name="Syntax">Syntax</h3>
<pre class="eval"><em>sel</em>.modify(<em>alter</em>, <em>direction</em>, <em>granularity</em>)
</pre>
<h3 id="Parameters" name="Parameters">Parameters</h3>
<dl> <dt>alter</dt> <dd>The type of change to apply. Specify "move" to move the current cursor position or "extend" to extend the current selection.</dd> <dt>direction</dt> <dd>The direction in which to adjust the current selection. You can specify "forward" or "backward" to adjust in the appropriate direction based on the language at the selection point. If you want to adjust in a specific direction, you can specify "left" or "right".</dd> <dt>granularity</dt> <dd>The distance to adjust the current selection or cursor position. You can move by "character", "word", "sentence", "line", "paragraph", "lineboundary", "sentenceboundary", "paragraphboundary", or "documentboundary".</dd>
</dl>
<div class="note"><strong>Note:</strong> Gecko does <strong>not</strong> implement "sentence", "paragraph", "sentenceboundary", "paragraphboundary", or "documentboundary".</div>
<div class="geckoVersionNote"> <p>{{ gecko_callout_heading("5.0") }}</p> <p>Starting in Gecko 5.0 {{ geckoRelease("5.0") }}, the "word" granularity no longer includes the following space, regardless of the default platform behavior. This makes the behavior more consistent, as well as making it work the same way WebKit used to work, but unfortunately they have recently changed their behavior.</p>
</div>
<h3 id="Example">Example</h3>
<p>To extend the current text selection to include the next word:</p>
<pre>var selection = window.getSelection();
selection.modify("extend", "forward", "word");
</pre>
Revert to this revision