
рд▓реЗрдЦ рдХреЛ рддреАрди рднрд╛рдЧреЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЧрдпрд╛ рд╣реИ:
рдпреВрдкреАрдбреА рдЖрд▓реЛрдЪрдирд╛рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдпрд╛ рдмрд▓реНрдХрд┐, рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдШреЗрд░реЗ рдореЗрдВ, рдЬрд┐рдирдХреЗ рд╕рд╛рде рдореБрдЭреЗ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рд╕рдореНрдорд╛рди рдорд┐рд▓рд╛ (рд▓рдЧрднрдЧ рд╕рднреА рдирд╡рд╛рдЧрдВрддреБрдХ рд╣реИрдВ), рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЬреЛ WYSIWYG рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛, рдПрдХ рд░рд╛рдХреНрд╖рд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ TinyMCE рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЗрд╕ рд╕рдВрдкрд╛рджрдХ рдХреЛ рдХрдИ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдереЗред рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ рдФрд░ рд╡рд╣ рд╣реИред рд╕рдВрднрд╡рддрдГ, рдЗрд╕ рддрд░рд╣ рд╕реЗ, рдирд╡рд╛рдЧрдВрддреБрдХреЛрдВ рдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА "рд╣рдо рдЖрдкрдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рд╡рд░реНрдб рдХреЛ рдзреЛ рдЪреБрдХреЗ рд╣реИрдВред"
рдПрдХ рдмрд╛рд░ (рдореБрдЭреЗ рдХрд┐рди рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдпрд╛рдж рдирд╣реАрдВ рд╣реИ), рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдереА рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдкреНрд░рдХрд╛рд╢рдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХрд╛ рдХреЛрдИ рдард┐рдХрд╛рдирд╛ рдирд╣реАрдВ рд░рд╣рд╛ рдЬрдм рдореИрдВрдиреЗ рдЦреБрдж, рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХреЛрдИ рдЧрд╣рд░рд╛ рдЬреНрдЮрд╛рди рдирд╣реАрдВ рдерд╛, рджреЛ рдмрдЯрди рдмрдирд╛рдП: рдмреЛрд▓реНрдб рдФрд░ рдЗрдЯреИрд▓рд┐рдХ, рдЬреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдХрд╛рд░реНрдп рдерд╛ред рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ
"рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ WYSIWYG HTML рд╕рдВрдкрд╛рджрдХ" рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдЖ (рдкрд╣рд▓рд╛ рд▓реЗрдЦ рдпрд╣рд╛рдБ рд╣реИ, рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ)ред рд▓реЗрдХрд┐рди рдЙрд╕ рд╕рдордп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдореБрдЭреЗ рдереЛрдбрд╝реА рдЬрдЯрд┐рд▓ рд▓рдЧреАред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕рд░рд▓ рд╕рдВрдкрд╛рджрдХ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд░реМрдВрджреЗ рдЧрдП рд░реЗрдХ рдкрд░ рдХрджрдо рд░рдЦрддреЗ рд╣реБрдП рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ jQuery рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ "рдХреНрдпреЛрдВ" рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рд╛ред рддрдм рдореБрдЭреЗ рдХреБрдЫ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рдмрд╛рдж, рд╣реИрдмрд░ рдкрд░ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ред рд╕рдордп рдмреАрддрддрд╛ рдЧрдпрд╛, рдореИрдВрдиреЗ рдлрд┐рдирд┐рд╢рд┐рдВрдЧ рд▓рдЧрд╛рдИ, рд▓рдЧрд╛рдИ ... рджреЛ рд╕рд╛рд▓, рдирд░рдХ, рдкреВрд░реЗ рджреЛ рд╕рд╛рд▓ред рд▓реЗрдХрд┐рди рдореИрдВ рдЦреБрдж рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдВрдкрд╛рджрдХ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмреНрд▓реЙрдХ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рджрд┐рд╡рд╛), рд╣рдо рдмрд╕ рдЙрд╕реЗ (рдмреНрд▓реЙрдХ) рдХреЗ рд▓рд┐рдП рд╕рдВрддреЛрд╖рдкреНрд░рдж рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
<div contenteditable></div>
рд╕рдВрдкрд╛рджрдХ рддреИрдпрд╛рд░ рд╣реИ!
рдмрд╕ рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ :)
рдкрд╛рда рдкрд░ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝реЙрдиреНрдЯ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ), рд╡рд╣рд╛рдБ рдПрдХ
document.execCommand
рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдЪрдпрди рдпрд╛ рдХреИрд░реЗрдЯ рд╕реНрдерд┐рддрд┐ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рд╡рд┐рдзрд┐ рддреАрди рддрд░реНрдХ рд▓реЗрддреА рд╣реИ:
- рдХрдорд╛рдВрдб рдХрд╛ рдирд╛рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдЯреИрд▓рд┐рдХ)ред
- рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╕рдВрд╡рд╛рдж рджрд┐рдЦрд╛рдирд╛ рд╣реИ (рд╕рд╣реА рд╣реИ рддреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рдЧрд▓рдд рд╣реИ)ред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдХреЛрдИ рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореВрд▓реНрдп рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрдЧрд╛ред
- рдЖрдЬреНрдЮрд╛ рдХрд╛ рдорд╛рдиред
рдкреГрд╖реНрда рдкрд░ рдПрдХ рдмреЛрд▓реНрдб рдмрдЯрди рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдмреЛрд▓реНрдб рд╣реЛ рдЬрд╛рдПрдЧрд╛:
<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
рдХрдорд╛рдВрдб, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдмрд┐рдирд╛ рдореВрд▓реНрдп рдХреЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдПрдЧрд╛ рдХрд┐ рдХрд┐рд╕ рд░рдВрдЧ рдХреЛ рдкрд╛рда рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкрд░рд┐рдгрд╛рдо:
jsfiddle.net/6BkPuрдмрд╕ рдЗрддрдирд╛ рд╣реА, рдЕрдм рдпрд╣ рдЫреЛрдЯреЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ:
1.
.innerHTML
рд▓реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдХрд░реЗрдВ: рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬреЗрдВ,
.innerHTML
рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ, рдЖрджрд┐ред
2. рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛, рдЕрдзрд┐рдХ рдХрдорд╛рдВрдб рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдЖрдк
рдЗрд╕ рд▓рд┐рдВрдХ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
3. рдЖрдЗрдХрди рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдлреЛрдВрдЯ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реИрдВред
рдмрдЯрди рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП),
document.queryCommandValue
рдФрд░
document.queryCommandState
рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЙрдирдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд┐рд░реНрдорд╛рддрд╛ рд╣реА рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдХреЗрд╡рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд┐рд░реНрдорд╛рддрд╛ рд╣реА рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдХреНрдпрд╛ рд▓реМрдЯрдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рдЪрд╛рд╣реЗрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реИред рд╣рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рд╣рд╛рд░ рд╡рд┐рдзрд┐ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ред
рдирд┐рд░рд╛рдзрд╛рд░ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред
FF рдФрд░ Chrome рдореЗрдВ
document.queryCommandValue( 'formatblock' )
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ:
h1, h2, p
..., рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐
document.execCommand( 'formatblock', ... )
рдореЗрдВ рдорд╛рди рддреНрд░рд┐рдХреЛрдгреАрдп рдХреЛрд╖реНрдардХ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ:
, , 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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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' )
, ,
, . , , , , . , 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: 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
, . , , .
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. , . , .
тАФ . , , , . , , . тАФ .
.