wrapSelection Example Breakdown of PluginHow to Use wrapSelectionwrapSelection Options Parameters

程序名称:wrapSelection Example Breakdown of PluginHow to Use wrapSelectionwrapSelection Options Parameters

授权协议: 未知

操作系统: 未知

开发语言:

wrapSelection Example Breakdown of PluginHow to Use wrapSelectionwrapSelection Options Parameters 介绍

Overview

wrapSelection wraps highlighted text with valid XHTML span tags and returns as
a jQuery object for chaining additional commands.

Originally designed to allow end users to select text (highlight text with
their mouse) and change the background style. Unlike other solutions that
apply to the whole element, this creates XHTML compliant span tags around the
selection area.

Features

  • Cross browser Selections (tested in IE, Firefox, Opera, Safari)
  • Create function getRangeAt() to return custom range object
  • Create a custom class to identify selections
  • Ability to restrict selectable area to a tag (single element)
  • jQuery plugin with limited chaining ability
  • Must create XHTML compliant code
  • Snaps to begining and end or word if selected in the middle of the word

Visit demonstration
site
for a practical
example of this plugin.

wrapSelection()

Example Breakdown of Plugin

The following is a basic html p tag and “|” marks the start and the end of the
selection.

<p> A <b>sm|all</b> examp|le. </p>

Use the following jQuery:

$(document).ready(function(){ $('p').bind("mouseup", function(){ $().wrapSelection().addClass('h1'); }); });

The following is the HTML results:

<p> A <b>sm <span class='sel_123445454 h1'>all</span> </b> <span class='sel_123445454 h1'> examp</span> le. </p>

The function will return a jquery object with span tags for class
“sel_123445454”.

How to Use wrapSelection

Note: This assumes that the CSS class “h1” is already defined.

1. Include the jQuery and wrapSelection to the page.

<script type="text/javascript" src="jquery.js"> </script> <script type="text/javascript" src="jquery.wrapSelection.js"> </script>

2. Bind wrapSelection to a mouseup event like the following:

$(document).ready(function(){ $('#container').bind("mouseup", function(){ $().wrapSelection().addClass('h1'); }); });

Restricting Selection to an Element
Change the above code to include a selector. Only include one element,
additional elements will fail miserably; So, don’t use more than one!

$('#selectable').wrapSelection().addClass('h1');

wrapSelection Options Parameters

There are two optional parameters to wrapSelection, Snap to Word (fitToWord)
and Range Object(wrapRange).

Add options using the following Syntax.

$().wrapSelection({ fitToWord: false, wrapRange: rangeObj });

fitToWord is a boolean indicating if it is on or off. “True” (the default)
forces the selection to the whole word. “False” turns off the snap to word
functionality.

Some cases, you need to store the range object prior to adding a
wrapSelection. See $().getRangeAt() function for more @R_831_4045@ion on how to
get the range object for wrapSelection to use. One case for this is a floating
toolbar that appears after the selection.

By default, “wrapRange” is false and calls getRangeAt() by default. If a range
object is passed, it will use that object to create the wrapSelection.

Note when Chaining , selectors do not chain nicely with wrapSelection.
For example:

$('#container').bind("mouseup", function(){ $('h3').addClass('header3').wrapSelection().addClass('h1'); });

  1. Binded to the element with an id of container
  2. Selector on all h3’s adding a class of ‘header3’
  3. wrapSelection() creates xhtml span tags with the class h1 around the selection triggered in the element ” container

The commands to the left of “wrapSelector” is applied to elements found by the
h3 selector. All commands to the right of wrapSelector is applied to the span
tags that were created.

getRangeAt()

Returns a custom range object, that wrapSelection can use. It is called in the
same manner as wrapSelection, with an element container
[“$(‘#container’).getRangeAt()”]or the entire document [“$().getRangeAt()”].

$(document).ready(function(){ $('#container').bind("mouseup", function(){ var myRange = $().getRangeAt(); }); });

Another function can call wrapSelection like this.

$().wrapSelection({wrapRange : myRange});

wrapSelection Example Breakdown of PluginHow to Use wrapSelectionwrapSelection Options Parameters 官网

http://plugins.jquery.com/project/wrapSelection

相关编程语言

多功能下拉选择插件 SelectPage 简洁而强大的下拉分...
AutoComplete 是一个 jQuery Mobile 的插件,用于实...
Combogrid 是一个jQuery插件用于为输入框添加高级自...
Autobox2这个jQuery插件,可以用于创建类似于Facebo...
Link Scraper TextBox 是一个文本框的扩展插件,当你...
Awesomplete 超小超好用的超漂亮的 autocomplete 框...