рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ
рдмрд▓реНрдХрд┐, "рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ", рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рд╛рдВ рддрдХ тАЛтАЛрдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ:
рдЗрд╕ рддрд░рд╣ рдмреЗрд╣рддрд░:var a = [1,2,3,4];
$.each(a, function ()
{
console.log( this );
});
// !
рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЖрдк рд▓реВрдк рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪреЗрдХ рдХреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг:for ( var i = 0, l = a.length; i < l; i++)
{
console.log(a[i]);
}
рдЗрд╕ рддрд░рд╣ рдмреЗрд╣рддрд░:var b = {c: 1, d: 2, e: 3};
$.each(b, function (k)
{
console.log(k, this );
});
//
for ( var k in b)
{
if ( b.hasOwnProperty(k) )
{
console.log(k, b[k]);
}
}
рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦреЗрдВ
рд╣рд░ рдЙрд╕ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ рдЗрди рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЪрд▓рддреА рд╣реИ рдФрд░ рдЪрд▓рддреА рд╣реИред рдкреНрд▓рдЧрдЗрди рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдкрд░ рдЖрдЬ рдмрд┐рддрд╛рдП рдЧрдП 10 рдорд┐рдирдЯ рдХрд▓ рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдХреЛ рдмрдврд╝рд╛рдПрдВрдЧреЗред
рдЬреАрд╡рди рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдгред рд╣рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╛рда рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдмрдорд┐рдЯ рдмрдЯрди рдХреЛ рд╕рдХреНрд╖рдо / рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдЬрдиреНрдо рдкреНрд▓рдЧрдЗрди:
рдФрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:$.fn.inputChange = function (callback)
{
return this .bind(
{
mousedown: callback,
keyup: callback,
blur: callback
});
};
рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИрдВ: 1 рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЧрд┐рд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЕрдЪрд╛рдирдХ рдЬрдорд╛ рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ рддрддреНрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ 2 рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рд╣реИредvar submit = $( "#submit" );
// 1
$( "#text" ).inputChange( function ()
{
submit[0].disabled = this .value.length === 0;
});
// 2
$( "#text" ).inputChange( function ()
{
if ( this .value.length === 0)
{
submit.attr( "disabled" , "disabled" );
}
else
{
submit.removeAttr( "disabled" );
}
});
рджреВрд╕рд░рд╛ рдкреНрд▓рдЧрдЗрди рдкреИрджрд╛ рд╣реБрдЖ рдерд╛:
рдФрд░ рдпрд╣ рдкреНрд▓рдЧрдЗрди $ .fn.inputChange рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:$.fn.disable = function ( bool )
{
return this .each( function ()
{
this .disabled = bool ;
});
};
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА рдХрд┐ рдЗрдирдкреБрдЯрдЪреЗрдВрдЬ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрдХ рднреА рдШрдЯрдирд╛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдкреЗрд╕реНрдЯ рдХреЛ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рд╕рдХрддреА рд╣реИред Googling, рд╣рдо рдирд┐рд░реНрдгрдп рдкрд░ рдЖрдП:$( "#text" ).inputChange( function ()
{
submit.disable( this .value.length === 0);
});
рдФрд░ inputChange рдкреНрд▓рдЧрдЗрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рд░реНрдо рд▓рд┐рдпрд╛:$.fn.paste = function (listener)
{
if ($.browser.msie)
{
return this .bind( "paste" , function ( event )
{
var that = this ;
setTimeout(
function ()
{
listener.apply(that, [ event ]);
},
.001
);
});
}
else
{
return this .bind( "input" , function ( event )
{
listener.apply( this , [ event ]);
});
}
};
рддреЛ "рдИрдВрдЯ рд╕реЗ рдИрдВрдЯ" рд╣рдо рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдореЗрдВ рдЖрдПрдВрдЧреЗ , рдФрд░ рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЗ рд▓рд┐рдП ...$.fn.inputChange = function (callback)
{
return this
.paste(callback)
.bind(
{
keyup: callback,
blur: callback
});
};
рдореВрд▓ рдХреЛрдб
рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреА рд░рд╛рдп рд╣реИ рдХрд┐ jQuery рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдХреБрдЫ рд╣рдж рддрдХ рд╡реЗ рд╕рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХрд╛рд░ рдЙрдиреНрд╣реЗрдВ рдореВрд▓ рдЬреЗрдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛:
рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ, рдХреЛрдб рдЙрдВрдЧрд▓реА рд╕реЗ рдЪреВрд╕рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдПред рдЕрдм рд╢реБрджреНрдз JS рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:function warning(text)
{
$( "<div id='alert' class='warning'></div>" )
.appendTo( $( document .body) )
.css(
{
"padding" : "10px" ,
"background-color" : "red" ,
"color" : "white"
})
.html(text)
.append(
$( "<button>OK</button>" ).attr( "title" , "Close me!" ).click( function ()
{
$( this ).parent().remove();
})
);
}
рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдШрдЯрдирд╛ рдЬреЛрдбрд╝реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ jQuery addEventListener / рд╕рдВрд▓рдЧреНрдирдХ рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЙрд▓ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рдорд┐рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП jQuery рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХрд╛ рдмрд╣реБрдд рд╕рдореНрдорд╛рди рд╣реЛрддрд╛ рд╣реИред рдмрд╛рдХреА рдбреЛрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИредfunction warning(text)
{
var div = document .createElement( "div" );
div.id = "alert" ;
div.className = "warning" ;
div.style.padding = "10px" ;
div.style.backgroundColor = "red" ;
div.style.color = "white" ;
div.innerHTML = text;
var button = document .createElement( "button" );
button.setAttribute( "title" , "Close me!" );
button.innerHTML = "OK" ;
$(button).click( function ()
{
div.parentNode.removeChild(div);
});
div.appendChild(button);
document .body.appendChild(div);
}
рджреЛрдиреЛрдВ рдЙрджрд╛рд╣рд░рдг рдЕрдЪреНрдЫреЗ рд╣реИрдВ: рдкрд╣рд▓рд╛ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ, рджреВрд╕рд░рд╛ рддреЗрдЬ рд╣реИред рдЖрдк рдбреЛрдо рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдХрдИ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк jQuery (MooTools, рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк, ExtJS, рдЖрджрд┐) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореВрд▓ рдЬреЗрдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓реЛ, рдЬреЛ рд╣рдореЗрд╢рд╛ рддреЗрдЬ рд╣реЛрддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдХреЛрдИ рднреА рдврд╛рдВрдЪрд╛ рдЖрдкрдХреЛ рдврд╛рдВрдЪреЗ рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрдкрдХрд░рдг рджреЗрддрд╛ рд╣реИред