рд╕рднреА jQuery рдпреВрдЖрдИ рд╡рд┐рдЧреЗрдЯреНрд╕ рдПрдХ рд╕рд░рд▓ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ - рд╡рд┐рдЬреЗрдЯ рдлреИрдХреНрдЯрд░реАред рдпрд╣ рдПрдХ рд╕рдВрдЧрдд рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдЬрдЯрд┐рд▓, рд╕рдВрд░рдЪрд┐рдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдЪреАрд▓реА рдиреАрдВрд╡ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рди рдХреЗрд╡рд▓ jQuery рдпреВрдЖрдИ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рдШрдЯрдХ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЕрдиреНрдп jQuery рдпреВрдЖрдИ рдШрдЯрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ; рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЕрдзрд┐рдХрд╛рдВрд╢ рдпреВрдЖрдИ рдШрдЯрдХ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рдХреНрдпрд╛ рд╣реИ
рд╡рд┐рдЬреЗрдЯ рдлреИрдХреНрдЯрд░реА рдПрдХ jQuery рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рд╡рд┐рдзрд┐ рд╣реИ -
jQuery.widget - 2 рдпрд╛ 3 рддрд░реНрдХреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ред
jQuery.widget( 'namespace.widgetname', namespace.superwidget,
рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЗ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдирд╛рдорд╕реНрдерд╛рди рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдирд╛рдо рдПрдХ рдбреЙрдЯ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд╛рдо рд╕реНрдерд╛рди рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ jQuery рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдЬрдЧрд╣ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╡рд┐рдЬреЗрдЯ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдХреЛрдИ рдирд╛рдо рд╕реНрдерд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХрд╛рд░рдЦрд╛рдирд╛ рдЗрд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдмрдирд╛рдПрдЧрд╛ред
(рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ - рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рдирд╛рдо рдХреЗ рдПрдХ рдкреНрд▓рдЧ-рдЗрди рдмрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдореИрдВ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖред рдиреЗрдорд╕реНрдкреЗрд╕ рдЖрдо рддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реИред) рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдирд╛рдо рдкреНрд▓рдЧ-рдЗрди рдФрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
jQuery.widget("demo.multi", {...})
jQuery.demo.multi
рдФрд░
jQuery.demo.multi.prototype
ред
рджреВрд╕рд░рд╛ (рд╡реИрдХрд▓реНрдкрд┐рдХ) рддрд░реНрдХ, рдЗрд╕рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдкред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, jQuery UI рдореЗрдВ рдПрдХ "рдорд╛рдЙрд╕" рдкреНрд▓рдЧрдЗрди рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП [рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде] рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
draggable
,
droppable
рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рдорд╛рдЙрд╕ рдкреНрд▓рдЧрдЗрди рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ:
jQuery.widget( "ui.draggable", $.ui.mouse, {...} );
рдпрджрд┐ рдЖрдк рдЗрд╕ рддрд░реНрдХ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдЬреЗрдЯ рд╕реАрдзреЗ "рдореБрдЦреНрдп рд╡рд┐рдЬреЗрдЯ" jQuery.Widget рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ (рдЫреЛрдЯреЗ w рдХреЗ рд╕рд╛рде
jQuery.Widget
рдФрд░ рдмрдбрд╝реЗ W рдХреЗ рд╕рд╛рде
jQuery.Widget
рдмреАрдЪ рдЕрдВрддрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ)ред
рдЕрдВрддрд┐рдо рддрд░реНрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдмреНрджрд┐рдХ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрд╛рд░рдЦрд╛рдирд╛ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рд╕рднреА рд╡рд┐рдЬреЗрдЯреНрд╕ рд╕реЗ
jQuery.Widget
рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдЗрд╕реЗ рдореВрд▓
jQuery.Widget
рддрдХ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред
рдЬрдм jQuery.widget рдХреЛ jQuery рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк (jQuery.fn) рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ рддрд░реАрдХрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣
jQuery.fn.multi
рд╣реЛрдЧрд╛ред
.fn
рд╡рд┐рдзрд┐ jQuery рд╡рд╕реНрддреБ рдФрд░ рд╡рд┐рдЬреЗрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд DOM рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред JQuery рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЬреЗрдЯ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд▓рд╛рдн
рдПрдХ рдкреНрд▓рдЧрдЗрди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рд░рд▓реАрдХреГрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рд╢реНрди рдЫреЛрдбрд╝рддрд╛ рд╣реИ рдЬрдм рдпрд╣ рд╕рдВрд░рдЪрд┐рдд рдХреЛрдб рдФрд░ рдУрдУрдкреА рдЙрдиреНрдореБрдЦ рдкреНрд▓рдЧ-рдЗрди рдХреА рдмрд╛рдд рдЖрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдЖрдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рд╡рд┐рдЬреЗрдЯ рдлреИрдХреНрдЯрд░реА рдПрдХ рдкреНрд▓рдЧрдЗрди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдФрд░ рдХрдИ рджреЛрд╣рд░рд╛рд╡ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ jQuery рдпреВрдЖрдИ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- рдПрдХ рдирд╛рдо рд╕реНрдерд╛рди рдФрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдирд╛
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫрджреНрдо рдЪрдпрдирдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди рдФрд░ рдирд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП $(":demo-multi")
ред - рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдФрд░
jQuery.fn
рдмреАрдЪ рд╕рдВрдмрдВрдз
jQuery.widget.bridge
рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдорд░реНрдЬ рдХрд░реЗрдВ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ - рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╕рднреА рд╡рд┐рдЬреЗрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдорддрд▓рдм рд╣реИ - рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП)ред - рдПрдХ рдкреНрд▓рдЧрдЗрди рдЙрджрд╛рд╣рд░рдг
$("#something").data("pluginname")
рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ $("#something").data("pluginname")
DOM рддрддреНрд╡ (рдЯреНрд░рд╛рдВрд╕рд▓реЗрдЯрд░ рдХреЗ рдиреЛрдЯ - рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ DOM рддрддреНрд╡ рдХрд╛ рд▓рд┐рдВрдХ, рдЬрд┐рд╕ рдкрд░ рдкреНрд▓рдЧ-рдЗрди this.element
) рдХреЗ рд▓рд┐рдП рдПрдХ jQuery рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рдВрджрд░реНрдн рдЗрд╕ред рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рдФрд░ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред - рд╡рд┐рдЬреЗрдЯ рддрд░реАрдХреЗ jQuery рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рдзрд┐ рддрд░реНрдХреЛрдВ -
$("#something").multi("refresh")
рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ $("#something").multi("refresh")
- рдпрд╛ рд╕реАрдзреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ - $("#something").data("multi").refresh()
ред - рдПрдХ рд╣реА рдЖрдЗрдЯрдо рдкрд░ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ
рдХреЙрд▓рдмреИрдХ рддрдВрддреНрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рджрд╕реНрдпрддрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИ: this._trigger("clear")
- рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ:
$( "#something" ).multi({ clear: function( event ) {} });
- рдпрд╛ рдЕрдЧрд░
.bind
рдорд╛рдзреНрдпрдо рд╕реЗ:
$( "#something" ).bind( "multiclear", function( event ) {} );
(рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ - рдкреНрд▓рдЧрдЗрди рдФрд░ рдШрдЯрдирд╛ рдХреЗ рдирд╛рдо рд╕реЗ рдЕрдЯрдХреА рдШрдЯрдирд╛ рдХрд╛ рдирд╛рдо рдиреЛрдЯ рдХрд░реЗрдВ)
- рдПрдХ рддрдВрддреНрд░ рдЬреЛ рдкреНрд░рд╛рд░рдВрдн рдХреЗ рдмрд╛рдж рдкреНрд▓рдЧ-рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддрд╛ рд╣реИ
- рдмрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рд╕рдХреНрд╖рдо / рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдпрд╛ рдирд╖реНрдЯ рдХрд░ рджреЗрдВ рдФрд░ рдЕрдкрдиреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓реМрдЯреЗрдВред (рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ - рдЖрдЧреЗ рджреЗрдЦреЗрдВ рдирд┐рдЬреА рддрд░реАрдХреЗ
_destroy
, рдЖрджрд┐)
рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдПрдБ
рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ
рдЖрдк рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ
options
(рдЕрдиреБрд╡рд╛рджрдХ рдХреЗ рдиреЛрдЯ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк), рдХреЙрд▓рдмреИрдХ
_create
,
_setOption
, рдФрд░
destroy
рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрджрд╛рд╣рд░рдг (function( $ ) { $.widget( "demo.multi", {
рддрд░реАрдХреЛрдВ рдореЗрдВ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди
рдЖрдкрдХреА рд╡рд╕реНрддреБ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдП рддрддреНрд╡реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдпрд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдпрд╛ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреАред рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдкреГрдердХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреБрджреНрдзрд┐рдорд╛рди рд╣реЛрдЧрд╛, рдмрдЬрд╛рдп
_create
рдкрджреНрдзрддрд┐ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛
_create
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдб рдХреА рдирдХрд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ
<select multiple>
, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐
<li>
рдФрд░
<ul>
рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЪреНрдЪреЗ
<option>
рдКрдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред рдЗрд╕реЗ
_create
рдкрджреНрдзрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
_create: function() { var self = this; this.list = $( "<ul>" ).insertAfter( this.element ); this.element.hide().find( "option" ).each(function( i, el ) { var $el = $( el ), text = $( el ).text(), item = $( "<li class='multi-option-item'>" + text + "</li>" ); item.appendTo( self.list ).click(function(){ console.log( $el.val() ); }); }); }
рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреЛ
_create
рдЗрд╕
_create
рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдореВрд▓
<option>
рддрддреНрд╡ рдФрд░ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реВрдЪреА рдЖрдЗрдЯрдо, рдпрд╛
<option>
рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдпрд╛ рд╣рдЯрд╛рдП рдЧрдП рддрддреНрд╡реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмреАрдЪ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдИ рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ред рд╡рд┐рдЬреЗрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
refresh
рд╡рд┐рдзрд┐ рдХреЛ рдЬрд┐рдореНрдореЗрджрд╛рд░
_create
рдФрд░
_create
рд╡рд┐рдзрд┐ рд╕реЗ
_create
ред рд╣рдо рд╕реВрдЪреА рдХреЗ рддрддреНрд╡реЛрдВ рдкрд░ рдХреНрд▓рд┐рдХреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рднреА рдЕрд▓рдЧ рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ, рдФрд░ рд╣рдо рдПрдХ рдирдпрд╛ рдЖрдЗрдЯрдо рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдирдП рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╕рдВрд▓рдЧреНрди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдШрдЯрдирд╛ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЙрджрд╛рд╣рд░рдг _create: function() { this.list = $( "<ul>" ) .insertAfter( this.element ) .delegate( "li.multi-option-item", "click", $.proxy( this._itemClick, this ) ); this.element.hide(); this.refresh(); }, refresh: function() {
рдирд┐рдЬреА рд╡реАред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рддрд░реАрдХреЗ
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╢рд╛рдпрдж рдзреНрдпрд╛рди рджрд┐рдпрд╛, рд╣рдордиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХреЛ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛, рдЬрдмрдХрд┐ рдХреБрдЫ рдиреЗ рдЙрдирдХреЗ рдмрд┐рдирд╛ред рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рддрд░реАрдХреЛрдВ рдХреЛ "рдирд┐рдЬреА" рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░рдЦрд╛рдирд╛
$.fn
рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддрд╛ рд╣реИ
$( "#something" ).multi( "_create" )
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди, рдЪреВрдВрдХрд┐ рд╡реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рд╕рдордЭреМрддреЗ рд╕реЗ рдирд┐рдЬреА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм
.data()
рдорд╛рдзреНрдпрдо рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
.data()
рддреЛ рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рддрд░реАрдХреЗ рдХреЛ рд╕реАрдзреЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$( "#something" ).data( "multi" )._create()
рд╕рд╣реА рдирд┐рд░реНрдгрдп рдХреИрд╕реЗ рд▓реЗрдВ? рдпрджрд┐ рдЖрдкрдХреЗ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреБрдЫ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд░реЗрдВред
refresh
рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдВрдХреЗрддрд┐рдХ рд╣реИ: рдЪреВрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрдпрди рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЙрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реА рдУрд░, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдлрд╝рдВрдХреНрд╢рди, рдЬреИрд╕реЗ рдХрд┐
_itemClick
, рдХреЗрд╡рд▓ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рдЧреБрдг
this.element
рдкреНрд▓рдЧрдЗрди рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рддрддреНрд╡ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
$( "#foo" ).myWidget()
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ред рдЖрдИрдбреА рдЖрдИрдбреА рдЖрдИрдбреА рд╕реЗ рдпреБрдХреНрдд рдПрдХ jQuery рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдЧрд╛ред рдХрдИ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рд▓рд┐рдП
.myWidget()
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕ред рдореЗрдВ рд╣рдореЗрд╢рд╛ рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рд╣реЛрдЧрд╛ред
this.options
рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдХрд▓реНрдкред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╕рдордп, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ
$.demo.multi.prototype.options
рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝
$.demo.multi.prototype.options
ред рдХрд╕реНрдЯрдо рд╡рд┐рдХрд▓реНрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
this.namespace
рдкреНрд▓рдЧрдЗрди рдХрд╛ рдирд╛рдо рд╕реНрдерд╛рди, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдбреЗрдореЛ"ред рдЖрдорддреМрд░ рдкрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
this.name
рдкреНрд▓рдЧрдЗрди рдХрд╛ рдирд╛рдо, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ "рдмрд╣реБ"ред рдЗрд╕ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реИред
this.namespace
, рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
this.widgetEventPrefix
рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдкреНрд▓рдЧрдЗрди рдЗрд╡реЗрдВрдЯреНрд╕ рдХрд╛ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
dialog
рдореЗрдВ рдПрдХ
close
рдХреЙрд▓рдмреИрдХ рд╣реЛрддрд╛ рд╣реИ; рдЬрдм рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ
dialogclose
рдШрдЯрдирд╛ рдкреЙрдк
dialogclose
ред рдИрд╡реЗрдВрдЯ рдирд╛рдо рдореЗрдВ рдИрд╡реЗрдВрдЯ рдкреНрд░реАрдлрд╝рд┐рдХреНрд╕ рдФрд░ рдХреЙрд▓рдмреИрдХ рдирд╛рдо рд╣реЛрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ,
widgetEventPrefix
рдХрд╛ рдорд╛рди рд╡рд┐рдЬреЗрдЯ рдХреЗ рдирд╛рдо рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рддрддреНрд╡ рдХреЛ рдЦреАрдВрдЪрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐
draggablestart
рдЗрд╡реЗрдВрдЯ рдкреЙрдк рдЕрдк рд╣реЛ, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ
dragstart
рдХрд╣рд╛ рдЬрд╛рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╡реЗрдВрдЯ рдХреЛ "рдбреНрд░реИрдЧ" рдХреЗ рдмрд░рд╛рдмрд░ рдЙрдкрд╕рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЙрд▓рдмреИрдХ рдХрд╛ рдирд╛рдо рдШрдЯрдирд╛ рдХреЗ рдЙрдкрд╕рд░реНрдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рдШрдЯрдирд╛ рдмрд┐рдирд╛ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╣реЛрдЧреАред рдЗрд╕рд╕реЗ
dragdrag
рдЬреИрд╕реА рдШрдЯрдирд╛рдУрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛
dragdrag
ред
this.widgetBaseClass
рд╡рд┐рдЬреЗрдЯ рддрддреНрд╡ рд╡рд░реНрдЧ рдирд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рддрддреНрд╡ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
element.addClass( this.widgetBaseClass + "-active" )
рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред
.addClass( "demo-multi-active" )
ред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдФрд░ рдЕрдореВрд░реНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреИрд╕реЗ
$.ui.mouse
ред
рддрд░реАрдХреЛрдВ
(рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ - рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕реАрдзреЗ
рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП)
_create
рдПрдХ рд╡рд┐рдзрд┐ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЗ рд╡рд┐рдЬреЗрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рддрддреНрд╡реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рдлрд╛рдВрд╕реА рдХреА рдШрдЯрдирд╛рдУрдВ рдЖрджрд┐ред рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╡рд┐рдзрд┐ рдХреЛ рдПрдХ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
_init
рд╡рд┐рдзрд┐ рдЬрд┐рд╕реЗ рд╣рд░ рдмрд╛рд░ рд╡рд┐рдЬреЗрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд░реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓реА рдХреЙрд▓ рдХреЗ рджреМрд░рд╛рди
_init
рдХреЛ
_create
рдмрд╛рдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдЬреЗрдЯ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ
_init
рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдирд╛рд╢ рдФрд░ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд┐рдирд╛, рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
destroy
рдПрдХ рд╡рд┐рдзрд┐ рдЬреЛ рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддреА рд╣реИ рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреНрдп рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддреА рд╣реИред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рд╕рднреА рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЛ
destroy
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдХреНрд╖рд╛рдУрдВ, рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдирд╛, рдирд┐рд░реНрдорд┐рдд рддрддреНрд╡реЛрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░рдирд╛, рдЖрджрд┐ред рдпрд╣ рдЖрдкрдХреЗ рдкреНрд▓рдЧрдЗрди рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
option
рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдзрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░
.css()
рдФрд░
.attr()
рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИред рдЖрдк рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЗрд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рдирд╛рдо, рдпрд╛ рдХрдИ рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдзрд┐
_setOptions
рдХреЙрд▓
_setOptions
, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
_setOptions
рдирд┐рдЬреА рд╡рд┐рдзрд┐, рдХрд╛ рдЙрдкрдпреЛрдЧ рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдзрд┐ _setOption рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
_setOption
рдЬрдм рдХреЙрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд┐рдзрд┐
option
рдорд╛рдзреНрдпрдо рд╕реЗ рдореВрд▓реНрдп рдмрджрд▓рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдЕрдкрдиреЗ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╡рд┐рдВрдбреЛ рдХрд╛ рдорд╛рди рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╢реАрд░реНрд╖рдХ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
_setOption: function(key, value) { if (key === 'title') { this.titleElement.text(value); } $.Widget.prototype._setOption.apply(this, arguments); }
рдореВрд▓ рд╡рд┐рдзрд┐
_setOption
рдХреЙрд▓ рдХрд░рдХреЗ, рд╣рдо рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рдорд╛рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣
_setOption
рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрднреА-рдХрднреА рд╕рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рдореВрд▓реНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдореВрд▓реНрдп рдХреЛ
this.options[key]
рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓ рд╡рд┐рдзрд┐
_setOption
рдХреЛ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ
_setOption
ред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЪреАрдЬ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╡рд┐рдзрд┐ рдХреЗ рдЖрд░рдВрдн рдореЗрдВ рд╣реА рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ
_setOption
рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
enable
рд╣реЗрд▓реНрдкрд░ рдХреЙрд▓рд┐рдВрдЧ
option('disabled', false)
ред рдЖрдк рдЗрд╕ рд╣реЗрд▓реНрдкрд░ рдХреЙрд▓ рдХреЛ рдЪреЗрдХ рдХрд░рдХреЗ рднреА рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
if (key === "disabled")
рдЖрдкрдХреЗ
_setOption
ред
disable
рд╣реЗрд▓реНрдкрд░ рдХреЙрд▓рд┐рдВрдЧ
option('disabled', true)
ред рдЖрдк рдЗрд╕ рд╣реЗрд▓реНрдкрд░ рдХреЙрд▓ рдХреЛ рдЪреЗрдХ рдХрд░рдХреЗ рднреА рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
if (key === "disabled")
рдЖрдкрдХреЗ _setOption рдореЗрдВред
_trigger
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рднреА рдХреЙрд▓рдмреИрдХ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЙрд▓рдмреИрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдирд╛рдо рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИред рд╕рднреА рдХреЙрд▓рдмреИрдХ рднреА рдПрдХ рдШрдЯрдирд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ (рдКрдкрд░ рдЗрд╕ рдХрд╛ рд╡рд░реНрдгрди рджреЗрдЦреЗрдВред рдЖрдк рдЙрд╕ рдИрд╡реЗрдВрдЯ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рднреА рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдиреЗ рдХреЙрд▓рдмреИрдХ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
drag
рдЗрд╡реЗрдВрдЯ рдХреЛ
_trigger
рдЗрд╡реЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ
_trigger
рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛
_trigger
ред рддреАрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░, рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛ рдХреЙрд▓рдмреИрдХ рдФрд░ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рдШрдЯрдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдкреНрд▓рдЧрдЗрди рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред