<div contenteditable></div>
document.execCommand
method that applies to the current selection or position of the caret. The method takes three arguments: <button class="bold"></button>
$( '.bold' ).on( 'click', function() { document.execCommand( 'bold', null, null ); });
<button class="italic">italic</button> <button class="red">Red</button>
$( '.italic' ).on( 'click', function() { document.execCommand( 'italic', false, null ); }); $( '.red' ).on( 'click', function() { document.execCommand( 'forecolor', false, 'red' ); });
forecolor
command, obviously, cannot do without a value, otherwise the browser will not understand exactly which color should be given to the text..innerHTML
diva and do anything with it: send to server, insert into textarea
, etc.document.queryCommandValue
and document.queryCommandState
methods. I will not describe their behavior, since it depends on the browser. Only the browser manufacturer decides whether to throw an exception or not, only the browser manufacturer decides what to return, so I suggest that, if you wish, find out what's what. We'll have to, basically, to understand at random.document.queryCommandValue( 'formatblock' )
in FF and Chrome returns the following values: h1, h2, p
..., although the values in document.execCommand( 'formatblock', ... )
were framed in triangular brackets:, , IE, execCommand( 'formatblock' ... ) . : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) ); , ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );
, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );
, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .
, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
, , IE, execCommand( 'formatblock' ... )
. : " ", . IE... ?.. queryCommandValue( 'formatblock' )
" 1", " 2", ""
, . , , , , . , IE10. , , IE10! , , .
SuitUp
, , , , , ---, . , .
:)
, :
$( '.my-textarea' ).suitUp();
:
$( '.my-textarea' ).suitUp( 'italic', 'bold', '|', 'formatblock#<h1>' );
$( '.my-textarea' ).suitUp([ 'italic', 'bold', '|', 'formatblock#<h1>' ]);
«|» , . , , , , — . _#, . — , , , . , , , null. .
( )
jQuery.suitUp.commands, - ( ), , , 'forecolor', :
1. , : forecolor red:
$.suitUp.commands = { forecolor: 'red' }
$.extend( jQuery.suitUp.commands, { forecolor: 'red' })
$.suitUp.commands.forecolor = 'red' // ( , commands - )
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
2. ()
$.suitUp.commands.forecolor = { 'Make Red': 'red', 'Make Green': 'green' }
select, , .
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );

3. , , . , , . propmt:
jQuery.suitUp.commands.forecolor = function( callback ) { var color = prompt( ' ', '' ); // callback( color ); // }
:
$( '.suitup-textarea' ).suitUp( 'forecolor' );
, — , , . , suitUp :
$( 'textarea' ).suitUp( 'italic', 'bold', '|', 'link', 'formatblock#<h1>' );
. . , :
1. Bold.
2. .
3. , "".
, .
$.extend( $.suitUp.commands, { bold: null, // , null fontname: { Arial: 'arial', Times: 'times', Verdana: 'verdana' }, forecolor: function( callback ){ var blackBackground = $( '<div/>' ).css({ background: 'black', position: 'absolute', top: 0, left:0, opacity: .5, width: '100%', height: '100%' }).on( 'click', function(){ popup.add( this ).remove(); }).appendTo('body'), popup = $( '<div/>' ).css({ padding: '10px 20px', width: 200, position: 'absolute', background: 'white', top: 200, left: $( window ).width()/2 - 110, zIndex: 100 }).appendTo('body'); $( '<input/>' ).appendTo( popup ); $( '<button/>' ).appendTo( popup ).text( 'Go!' ).on( 'click', function() { var val = popup.children( 'input' ).val(); blackBackground.add( popup ).remove() callback( val ); }); } });
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor' );



, , . , button. , , callback, . Callback , , forecolor .
document.execCommand( 'forecolor', false, ' ' );
! , camelCase, , . .
, . , , .
, :
$.suitUp.custom = {};
, .
$.extend( jQuery.suitUp.custom, { helloWorld: function() { return $( '<span/>', { 'class': 'suitup-control' // }).css( 'backgroundColor', 'red' ).on( 'click', function() { alert( 'Hello World!' ); }); } });
:
$( '.suitup-textarea' ).suitUp( 'bold', 'fontname', 'forecolor', 'helloWorld' );

, .
, "link", ( "createlink"), ( "unlink").
... { link: function() { return jQuery._createElement( 'a', { className: 'suitup-control', href: '#' }).attr({ 'data-command': 'createlink' // createlink }).on( 'click', function() { if( !$.suitUp.hasSelectedNodeParent( 'a' ) ) { document.execCommand( 'createlink', false, window.prompt( 'URL:', '' ) ); } else { document.execCommand( 'unlink', false, null ); } }); } }
, ( helloWorld), .
:
suitUp ( commands), null. ( forecolor#red
) :
. . , "" (, - colorpicker).
suitUp.
.
suitUp :
$.suitUp.controls = [ 'bold', 'italic' ]; $( '.suitup-textarea' ).suitUp(); // , $( '.suitup-textarea' ).suitUp( 'bold', 'italic' );
controls , . . , :
$.suitUp.controls.push( 'forecolor' ); $( '.suitup-textarea' ).suitUp();
:
$( '.suitup-textarea' ).suitUp( $.suitUp.controls.concat([ 'forecolor' ]) );
, ( ).
, , , $.suitUp . , . , , .
$.suitUp.getSelection
. .
$.suitUp.restoreSelection
. , getSelection.
var sel = $.suitUp.getSelection(); // -, $( '.suitup-editor' ).focus(); // jQuery.suitUp.restoreSelection( sel ); //
$.suitUp.getSelectedNode
( )
$.suitUp.hasSelectedNodeParent
, "link". , , .
jQuery.suitUp.hasSelectedNodeParent( 'a' ); // true/false
Chrome, Firefox, IE10 (+IE7 Mode)
, : github.com/finom/Suitup
extended-commands.suitup.jquery.js . 50 , .

, .
.
UPD
, , . , , .
1. . , bold Chrome b, IE strong.
2. ( ).
3. , . , .
— . , , , . , , . — .
.
Source: https://habr.com/ru/post/161715/
All Articles