рдЗрд╕рд▓рд┐рдП MooTools 1.3 рдХреА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рд░рд┐рд▓реАрдЬрд╝ рд╕рд╛рдордиреЗ рдЖрдИред рдореИрдВ рдЖрдкрдХреЛ рд░реВрдкрд░реЗрдЦрд╛ рдореЗрдВ рд╣реБрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдФрд░ рдЗрд╕рдХреЗ "рд╡рд╛рддрд╛рд╡рд░рдг" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрддрд╛рдКрдВрдЧрд╛ред рд╕рдВрд╕реНрдХрд░рдг 1.2 рдФрд░ 1.3 рдХреЗ рдмреАрдЪ рдХрд╛рдлреА рдЕрдВрддрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗред
рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг 1.3 рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИ, рдЬреЛ 1.2 рдХреЗ рд╕рд╛рде 100% рд╕рдВрдЧрдд рд╣реИ, рдЖрдк рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдбрд░ рдирд╣реАрдВ рд╕рдХрддреЗред
рдЪрд╛рд▓рд╛рдХ
рдФрд░ рдЗрд╕рд▓рд┐рдП, рдорддрднреЗрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдмрд╕реЗ рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ рдЪреАрдЬ рдирдпрд╛ рд╕реАрдПрд╕рдПрд╕ рдЪрдпрдирдХрд░реНрддрд╛ рдЗрдВрдЬрди рд╕реНрд▓реАрдХ рд╣реИред рдпрд╣ рдореВрдЯреНрд╕ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ, рдЕрд▓рдЧ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ "izkarobki" рд╕рднреА рдмреЛрдзрдЧрдореНрдп рдФрд░ рдЕрдЪреВрдХ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ / рдЫрджреНрдо рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдареАрдХ рд╣реИ, рд╣рдореЗрд╢рд╛ рдПрдХ рдирдпрд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛ рд╣реИред
MooTools рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
Slick.search(document, "div > p.moo:not(.foo)"); // () , , , null. , . Slick.find(document, "div > p.moo:not(.foo)"); // , , Slick.match(node, "p.moo"); // node Slick.contains(node, node2); // node2 node
MooTools рдХреЗ рдЕрдВрджрд░, рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ рдЕрдм рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ:
- рд╢реБрджреНрдз-рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
- рдкреБрд░рд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 50% рддреЗрдЬ
- рдХрд┐рд╕реА рднреА рдЪрдпрдирдХрд░реНрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВред
- рд▓рдЪреАрд▓рд╛, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЫрджреНрдо рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
- XML рдЦреЛрдЬ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
рдПрдкреАрдЖрдИ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ
рдХреЛрд░
- $ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЕрдм рдЕрддреАрдд рдореЗрдВ рд╣реИрдВ:
- $ chk (рдореВрд▓реНрдп) => (рдореВрд▓реНрдп! = null)
- $ A (рдЖрдЗрдЯрдо) => Array.from (рдЖрдЗрдЯрдо)
- $ рдЪрдкрдЯрд╛ => рдЕрд░реНрд░реЗ.рдлреНрд░реЙрдо
- $ рд╕реНрдкрд╖реНрдЯ => рдХреЛ рджреЗрд╢реА рдХреНрд▓рд┐рдпрд░рдЯрд╛рдЗрдо рдпрд╛ рдХреНрд▓рд┐рдпрд░рдЗрдВрдЯрд░рд╡рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
- $ рдкрд░рд┐рднрд╛рд╖рд┐рдд => (рдореВрд▓реНрдп! = рд╢реВрдиреНрдп)
- $ рдкреНрд░рддреНрдпреЗрдХ => Array.each / Object.each рд╕рдВрджрд░реНрдн рдХреЗ рдЖрдзрд╛рд░ рдкрд░
- $ рдЦрд╛рд▓реА => рд╣рдЯрд╛рдпрд╛ рдЧрдпрд╛, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ () {}
- $ рд╡рд┐рд╕реНрддрд╛рд░ (рд╕реНрд░реЛрдд, рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд) => Object.append (рд╕реНрд░реЛрдд, рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд)
- $ рдорд░реНрдЬ ({}, a, b) => Object.merge ({}, a, b)
- $ рдорд┐рдХреНрд╕рд┐рди (a, b) => Object.merge (рдП, рдмреА)
- $ рд▓рдореНрдмрдбрд╛ => рдлрдВрдХреНрд╢рди редрдлреЛрдо
- $ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ => рд╕рдВрдЦреНрдпрд╛ред рд╕рдВрдЦреНрдпрд╛
- $ рд╕рдордп => Date.now
- $ рдкреНрд░рдХрд╛рд░ => рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдк рдХрд░реЗрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧ "рдирд▓" рдЕрдм рдЦрд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рдЧрдИ рд╣реИ
- $ рдЕрдирд▓рд┐рдВрдХ => Array.clone / Object.clone
- $ рддрд░реНрдХ => рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛
- $ рдкрд┐рдХ => Array.pick рдпрд╛ [a, b, c] .pick ()
- $ рдирд┐рд╖реНрдкрд╛рджрд┐рдд => Browser.exec
рд╕рд╛рде рд╣реА
- рдиреЗрдЯрд┐рд╡ рдХреЛ рдЕрдм рдЯрд╛рдЗрдк рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
- Array.type / String.type / Number.type / рдЖрджрд┐ред => Type.isArray / Type.isString / Type.isNumber / рдЖрджрд┐ред
- рд╣реИрд╢ рдФрд░ $ рдПрдЪ рдореВрдУрдЯрд▓реНрд╕ рдореЛрд░ рдореЗрдВ рдЪрд▓реЗ рдЧрдП
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛
- рдЗрдВрдЬрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ => рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдПрдЬреЗрдВрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ред
- Browser.Engine => рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛
- Browser.Engine.trident => Browser.ie
- Browser.Engine.gecko => Browser.firefox
- Browser.Engine.webkit => Browser.safari рдпрд╛ Browser.chrome
- Browser.Engine.presto => Browser.opera
- Browser.Platform.ipod => Browser.Platform.ios
рд╕рд░рдгреА
- Array.extend => Array.append
рд╕рдорд╛рд░реЛрд╣
- myFn.bind (рдпрд╣, [arg1, arg2, arg3]) => myFn.bind (рдпрд╣, arg1, arg2, arg3) рдпрд╛ myFn.pass ([arg1, arg2, arg3], рдпрд╣)
- $ рдХреЛрд╢рд┐рд╢ => рдлрдВрдХреНрд╢рди
- myFn.run (args, bind) => myFn.apply (рдмрд╛рдЗрдВрдб, Array.from (args));
- myFn.create => рдЙрдкрдпреЛрдЧ .pass, .bind, .delay, .periodical
- myFn.bindWithEvent => рдкрджрд╛рд╡рдирдд
рддрддреНрддреНрд╡
- element.injectInside, .injectBefore, .injectAfter, etc => element.inject (рд╕рдВрджрд░реНрдн, рдЬрд╣рд╛рдБ);
- element.grabTop, ... => element.grab (рд╕рдВрджрд░реНрдн, рдЬрд╣рд╛рдВ)
- element.has рдЪрд┐рд▓реНрдбреНрд░рди (рдЖрдЗрдЯрдо) => рдПрд▓рд┐рдореЗрдВрдЯред рдХреЙрдиреНрд╕рд░реНрдЯ (рдЖрдЗрдЯрдо) рдФрд░&
- рдордж! = рддрддреНрд╡
- рдЪрдпрдирдХрд░реНрддрд╛ред рдЫрджреНрдо => Slick.definePseudo (рдирд╛рдо, fn)
- Element.get => рдЕрдм рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдирд┐рдореЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП element.get ('tween', рд╡рд┐рдХрд▓реНрдк) рдЕрдм element.set ('tween', рд╡рд┐рдХрд▓реНрдк)) .get ('tween')ред
рдЪрд╛рд▓рд╛рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдирдП рддрддреНрд╡реЛрдВ рдХреЛ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИ:
new Element("input", {"id": "someID", "class": "someClass1", "disabled": true}); // new Element("input#someID.someClass1[disabled=true]"); //
рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ
- Type.from (Array.from, String.from, Function.from, рдЖрджрд┐) => рдкреНрд░рдХрд╛рд░ рд░реВрдкрд╛рдВрддрд░рдг
- Fx => рд╕рднреА рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рдЯрд╛рдЗрдорд░
рдкрд░реНрдпрд╛рд╡рд░рдг
- MooTools Test Runner => рдЕрдм рдкрд░реАрдХреНрд╖рдг рди рдХреЗрд╡рд▓ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ, рдмрд▓реНрдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рднреА рд╣реЛрддрд╛ рд╣реИ
- рдкреИрдХрд░реНрдЬрд░ => рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореВрдЯреНрд╕ рдПрдХрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдирдпрд╛ рдЙрдкрдХрд░рдгред
packager
рдкреИрдХрдЧрд░ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреЛрдб рдмрдирд╛рддреЗ рд╣реИрдВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯрд┐рдкреНрдкрдгреА рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЖрдк рдирд╛рдо, рд▓реЗрдЦрдХ, рдирд┐рд░реНрднрд░рддрд╛ рдЖрджрд┐ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ, рдкреИрдХреЗрдЬ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ) рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рднреА рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЖрдк рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо, рд╡рд┐рд╡рд░рдг, рд╕реВрдЪреА рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓реЗрдВ, рдЖрджрд┐, packager рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
$ packager register /path/to/project $ packager build ProjectName/* > myproject.js
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рджреМрд░рд╛рди, рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ, рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛ рдХрд┐ рдкреИрдХрд░ рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рд╣реИрдВред рдмрд╛рдд рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдореИрдВ рдЕрдм рдЫрд╣ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рд╕рд╛рд░рд╛рдВрд╢
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд▓рдЧрднрдЧ рдПрдХ рддрд┐рд╣рд╛рдИ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ред MooTools More рдореЗрдВ рднреА рдХрдИ рдмрджрд▓рд╛рд╡ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЫрджреНрдо рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдкреНрд░рдХрдЯ рд╣реБрдЖ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
element.addEvent('click:once', function(){}); // element.addEvent('click:relay(.some-selector)', function(){}); // element.addEvent('keydown:keys(ctrl+s)', function(){}); //
рдЕрдЧрд▓реА рдмрдбрд╝реА рд░рд┐рд▓реАрдЬ рдореВрдЯреНрд╕ 2 (рдЕрдм рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ) рд╣реИред
рднрдВрдбрд╛рд░:
MooTools рдХреЛрд░
MooTools рдЕрдзрд┐рдХ
рдЪрд╛рд▓рд╛рдХ
packager