ȸ¿ø·Î±×ÀÎ
jQuery API: Manipulation, Events, Effects, Internals, Utilities
9³â Àü
Manipulation
DOMÀÇ Á¦¾î, °»½Å Á¶ÀÛ
¡Ü ³»ºÎ »ðÀÔ
append(content)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼Ò¿¡ ÁÖ¾îÁø ³»¿ëÀ» Ãß°¡·Î »ðÀÔÇÑ ÈÄ °´Ã¼ ¹Ýȯ
: Return jQuery °´Ã¼
<script>
// p ű׿¡ ³»¿ë Ãß°¡ -> °á°ú : ¡ºÁß¿ä°ú¸ñ : ÇÁ·¹ÀÓ¿öÅ©¡»
$("p").append("<b>ÇÁ·¹ÀÓ¿öÅ©</b>");
</script>
<p>Áß¿ä°ú¸ñ: </p>
appendTo(content)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼ÒµéÀÇ ³»¿ëµéÀ» ÁÖ¾îÁø Á¶°Ç¿¡ ¸Â´Â ¿ø¼Ò¿¡ Ãß°¡·Î »ðÀÔÇÑÈÄ °´Ã¼ ¹Ýȯ
: Return jQuery °´Ã¼
<script>
// body ¸¶Áö¸· ºÎºÐ¿¡ Á¦ÀÌÄõ¸® Ãß°¡
$("<div><p>Á¦ÀÌÄõ¸®</p></div>").appendTo("body");
// id°¡ aÀΠű×ÀÇ µÞ ºÎºÐ¿¡ span ű×ÀÇ ³»¿ëÀ» Ãß°¡ -> °á°ú : ¡ºÁß¿ä°ú¸ñ : ÇÁ·¹ÀÓ¿öÅ©¡»
$("span").appendTo("#a");
</script>
<span>ÇÁ·¹ÀÓ¿öÅ©</span>
<div id="a">Áß¿ä°ú¸ñ : </div>
prepend(content)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼Òµé¿¡ ¸Ç¾Õ¿¡ ÁÖ¾îÁø ³»¿ëÀ» »ðÀÔÇÑÈÄ °´Ã¼¸¦ ¹Ýȯ
: Return jQuery °´Ã¼
<script>
$("p").prepend("<b>Hello </b>");
</script>
<p><!--»ðÀÔÀ§Ä¡-->there friend!</p>
prependTo(content)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼ÒÀÇ ³»¿ëÀ» ÁÖ¾îÁø °Í¿¡ ¸ÅÄ¡µÇ´Â ¿ø¼ÒÀÇ ¸Ç¾Õ¿¡ Ãß°¡ »ðÀÔÇÑÈÄ °´Ã¼¸¦ ¹Ýȯ
: Return jQuery °´Ã¼
<script>
$("span").prependTo("#foo");
</script>
<div id="foo"> <!--»ðÀÔÀ§Ä¡-->FOO!</div>
<span>I have something to say...</span> //span element´Â ±âÁ¸ À§Ä¡¿¡¼ »ç¶óÁü
¡Ü ¿ÜºÎ »ðÀÔ
after(content)
: ¸ÅÄ¡µÇ´Â ¸ðµç ¿ø¼ÒÀÇ µÚ¿¡ ÁÖ¾îÁø ³»¿ëÀ» »ðÀÔ
: Return jQuery °´Ã¼
<script>
$("p").after("<b>Hello</b>");
</script>
<p>I would like to say: </p>
<!--»ðÀÔÀ§Ä¡-->
before(content)
: ¸ÅÄ¡µÇ´Â ¸ð´Â ¿ø¼ÒÀÇ ¾Õ¿¡ ÁÖ¾îÁø ³»¿ë »ðÀÔ
: Return jQuery °´Ã¼
<script>
$("p").before("<b>Hello</b>");
</script>
<!--»ðÀÔÀ§Ä¡-->
<p> is what I said...</p>
insertAfter(content)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼ÒµéÀ» ÁÖ¾îÁø °Í¿¡ ¸ÅÄ¡µÇ´Â ¿ø¼ÒÀÇ µÚ¿¡ »ðÀÔÇÑ´Ù.
: Return jQuery Object - ÇÇ»ðÀÔ °´Ã¼ (¾Õ¿¡ ¿À´Â ¼±ÅÃÀÚ)
<script>
// <p>ÅÂ±× °´Ã¼°¡ #foo µÚ·Î À̵¿ÇÑ´Ù.
$("p").insertAfter("#foo");
</script>
<p> is what I said... </p><div id="foo">FOO!</div>
insertBefore(content)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼Ò¾Õ¿¡ ÁÖ¾îÁø °Í¿¡ ¸ÅÄ¡µÈ ¿ø¼Ò¸¦ »ðÀÔÇÑ´Ù.
: Return jQuery °´Ã¼
<script>
//<p>ÅÂ±× °´Ã¼°¡ #foo ¾ÕÀ¸·Î À̵¿ÇÑ´Ù.
$("p").insertBefore("#foo");
</script>
<div id="foo">FOO!</div><p>I would like to say: </p>
¡Ü ÁÖº¯ »ðÀÔ
wrap(html)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼Ò¸¦ ÁÖ¾îÁø html·Î¼ °¨½ÑÈÄ °´Ã¼¸¦ ¹Ýȯ
: Return jQuery °´Ã¼
<script>
// p¿ä¼Ò¸¦ ÁöÁ¤ div·Î µÑ·¯½Ñ´Ù.
$("p").wrap("<div class='wrap'><b></b></div>");
</script>
<p>Test Paragraph.</p>
wrap(elem)
: ¸ÅÄ¡µÈ ¸ðµç ¿ø¼Ò¸¦ ÁÖ¾îÁø°Í¿¡ ¸ÅÄ¡µÇ´Â ¿ø¼Ò·Î °¨½Ñ´Ù.
: Return jQuery °´Ã¼
<script>
// p¿ä¼Ò¸¦ "content" idÀÇ ¿ä¼Ò·Î µÑ·¯½Ñ´Ù.
$("p").wrap($('#content'));
</script>
<p>Test Paragraph.</p><div id="content"></div>
wrapAll(html)
: ¸ÅÄ¡µÇ´Â ¿ø¼ÒµéÀ» ÁÖ¾îÁø html·Î ¸ðµÎ Çϳª·Î °¨½Ñ´Ù.
: Return jQuery °´Ã¼
$("span").wrapAll("<div><div><p><em><b></b></em></p></div></div>");
wrapAll(elem)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼ÒµéÀ» ÁÖ¾îÁø °Í¿¡ ¸ÅÄ¡µÇ´Â °ÍÀ¸·Î Çϳª·Î °¨½Ñ´Ù.
: Return jQuery °´Ã¼
<script>
$(document).ready(function(){
$("p").wrapAll(document.createElement("div"));
});
</script>
<style type="text/css">
div { border: 2px solid blue; }
p { background:yellow; margin:4px; }
</style>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
wrapInner(html)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼Ò ¼ÓÀÇ ³»¿ëÀ» ÁÖ¾îÁø °ÍÀ¸·Î °¨½Ñ´Ù.
: Return jQuery °´Ã¼
$("body").wrapInner("<div><div><p><em><b></b></em></p></div></div>");
wrapInner(elem)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼Ò ¼ÓÀÇ ³»¿ëÀ» ÁÖ¾îÁø °Í¿¡ ¸ÅÄ¡µÈ°ÍÀ¸·Î °¨½Ñ´Ù.
: Return jQuery °´Ã¼
$("p").wrapInner(document.createElement("b"));
unwrap() : ƯÁ¤ÇÑ ºÎ¸ð¿ä¼Ò¸¦ Á¦°ÅÇÑ´Ù.
<script>
// <p>ű׸¦ °¨½Î°í ÀÖ´Â <div> ¿ä¼Ò¸¦ Á¦°Å
$('p').unwrap();
</script>
<div>
<p>Foo</p>
</div>
¡Ü ġȯ
replaceWith(content)
: ¸ÅÄ¡µÇ¾îÁø ¿ø¼Ò¸¦ ÁÖ¾îÁø ³»¿ë°ú ġȯÇÑ´Ù.
: Return jQuery °´Ã¼
$("button").click(function () {
$(this).replaceWith("<div>" + $(this).text() + "</div>");
});
//¹öÆ°À» Ŭ¸¯Çϸé Çش簴üÀÇ ÅؽºÆ®¸¸ °¡Á®¿Í <div>°´Ã¼·Î ġȯÇÑ´Ù.
replaceAll(selector)
: ¸ÅÄ¡µÇ¾îÁø °ÍµéÀ» ÁÖ¾îÁø °Í¿¡ ¸ÅÄ¡µÇ´Â °Í¿¡ ¸ðµÎ ¹Ù²Þ
: replaceWith()¿Í ºñ½ÁÇÏÁö¸¸ source/targetÀÇ À§Ä¡°¡ ¹ÝÀüµÇ¾î ÀÖ´Ù.
: Return jQuery
$("<b>Paragraph. </b>").replaceAll("p");
¡Ü »èÁ¦
empty() : ³»¿ëÀ» ºñ¿î´Ù.
//<p> elementÀÇ ÀÚ½Ä element, ÅؽºÆ®, htmlÀÌ »ç¶óÁø´Ù.
$("button").click(function() {
$("p").empty();
});
remove([expr]) : »èÁ¦ÇÑ´Ù. empty()¿Í ´Ù¸£°Ô element ÀÚü°¡ »ç¶óÁø´Ù.
$("button").click(function () {
$("p").remove();
});
detach( [ selector ] )
µ¿ÀûÀÎ Á¶ÀÛÀ» µ½±â À§Çؼ detach() ¶ó´Â »õ·Î¿î ¸Þ¼µå°¡ Ãß°¡µÇ¾ú´Ù. ÀÌ´Â DOM¿¡¼ ƯÁ¤ ¿ä¼Ò¸¦ Á¦°ÅÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù´Â ºÎºÐ¿¡¼´Â remove()¿Í ±â´ÉÀûÀ¸·Î µ¿ÀÏÇÏÁö¸¸, ÇØ´ç ¿ä¼ÒÀÇ µ¥ÀÌÅÍ(À̺¥Æ® µî)¸¦ Á¦°ÅÇÏÁö ¾Ê´Â´Ù´Â ÁÖ¿äÇÑ Â÷ÀÌ°¡ ÀÖ´Ù. ±×·¸±â¿¡, ÀÌ´Â ÀϽÃÀûÀ¸·Î ¿ä¼Ò¸¦ DOM¿¡¼ Á¦°ÅÇß´Ù°¡ ´Ù½Ã±Ý DOM¿¡ Ãß°¡ÇØ¾ß ÇÏ´Â °æ¿ì ¸Å¿ì À¯¿ëÇÏ´Ù.
Àç»ç¿ëµÉ ¸¸ÇÑ ¿ä¼Ò¿¡¸¸ »ç¿ëÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. DOM¿¡¼ ¿ä¼Ò¸¦ Á¦°ÅÇϰųª Ãß°¡ÇÏ´Â ÀÏÀÌ ºó¹øÇÏ°Ô ¹ß»ýÇÒ ¶§ ¸Å¿ì À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¡Ü Ä«ÇÇ
http://api.jquery.com/clone/
clone([withDataAndEvents])
withDataAndEvents: ¿ä¼Ò¿¡ ¹ÙÀεåµÈ À̺¥Æ®¸¦ º¹»ç¿¡ Æ÷ÇÔÇÒÁö ¿©ºÎ
<script>
$(document).ready(function(){
$("button").click(function(){
$(this).clone().insertAfter(this); // 1...
$(this).clone(true).insertAfter(this); // 2...
// 2´Â ÇØ´ç ³ëµå¿¡ ¹ÙÀεùµÈ À̺¥Æ®±îÁö º¹»çÇÑ´Ù. (deep copy)
});
});
</script>
<button>Clone Me!</button>
»ç¿ëÇϱâ Àü¿¡ ¹Ýµå½Ã ¿ä¼ÒÀÇ ¾îµð±îÁö º¹»çµÇ´ÂÁö È®ÀÎÇؾßÇÑ´Ù.
clone()Àº ±âº»ÀûÀ¸·Î ¿ä¼Ò»Ó¸¸ ¾Æ´Ï¶ó µ¥ÀÌÅ͵µ ÇÔ²² º¹»çÇÑ´Ù. ¿¹¸¦ µé¾î text inputboxÀÇ °æ¿ì ÀÔ·ÂµÈ valueµµ °°ÀÌ º¹»çÇÑ´Ù
Events
¡Ü Page Load
ready(handler) : DOM ÀÌ ·Îµå µÇ¾î Á¶ÀÛ¡¤Çؼ®ÀÌ °¡´ÉÇÏ°Ô µÈ ŸÀֿ̹¡ ÇÔ¼ö¸¦ ½ÇÇà
load(): load()´Â À̹ÌÁöµî ÆäÀÌÁö°¡ ÀüºÎ ´Ù¿î·Îµå µÈ ´ÙÀ½¿¡ ½ÇÇà. Áï, onload¿Í °°ÀÌ ÆäÀÌÁö°¡ ¸ðµÎ ·Îµå¿Ï·áµÈ ÈÄ Äڵ带 ½ÇÇà½ÃÅ°°íÀÚ ÇÒ ¶§¿¡´Â ¾Æ·¡¿Í °°ÀÌ Ç¥ÇöÇÑ´Ù.
.load()´Â jQuery 1.8¿¡¼ Æó±âµÊ
window.onload = function(){ alert("onload1"); }
window.onload = function(){ alert("onload2"); } // ¸¶Áö¸·°Í Çѹø¸¸ ½ÇÇà
$(document).ready(function(){
alert("ready1");
})
$(document).ready(function(){
alert("ready2");
})
// ½ÇÇà°á°ú
// ready1
// ready2
// onload2
// ºê¶ó¿ìÀú¿¡ µû¶ó Ç×»ó ½ÇÇà¼ø¼°¡ ¹Ù²ð ¼ö ÀÖ´Ù.
¡Ü Event Handling
bind(eventType, [eventData], handler(eventObject))
: ÀÏÄ¡µÈ ÁýÇÕ¿¡ ÀÖ´Â ¸ðµç ¿¤¸®¸ÕÆ®¿¡ ÁöÁ¤ÇÑ À̺¥Æ® ŸÀÔÀÇ Çڵ鷯·Î Àü´ÞµÈ ÇÔ¼ö¸¦ ÇÒ´çÇÑ´Ù.
: eventType - (String)Çڵ鷯¸¦ ÇÒ´çÇÒ À̺¥Æ® ŸÀÔÀÇ À̸§
: eventData - (Object)Çڵ鷯 ÇÔ¼ö¿¡¼ »ç¿ëÇϵµ·Ï Event ÀνºÅϽº¿¡ data¶ó´Â ÇÁ·ÎÆÛƼ·Î Á¦°øµÇ´Â µ¥ÀÌÅÍ. »ý·« °¡´É
: return È®Àå ÁýÇÕ
// ÇÁ·ÎÆÛƼ Á¢±ÙÁ¦¾îÀÚ(.)¸¦ ÅëÇØ ¸Þ¼Æ® È£ÃâÀ» ¿¬¼ÓÀ¸·Î Á¤ÀÇÇÑ´Ù. (method chaining)
$('img').bind('click', function(event) {
alert('¾È³ç1!');
}).bind('click', function(event) {
alert('¾È³ç2!');
}).bind('click', function(event){
alert('¾È³ç3!');
});
// a ¶ó´Â id¸¦ °¡Áö°í ÀÖ´Â ¿ä¼Ò¸¦ ¸¶¿ì½º Ŭ¸¯ ½Ã body¿¡ test_class¶ó´Â CSS class¸¦ Ãß°¡ÇÑ´Ù.
$(function(){
$('#a').bind('click', function(){
$('body').addClass('test_class');
});
});
bind(events) : bind¸¦ ÀÌ¿ëÇÏ¿© À̺¥Æ®¸¦ ¿©·¯°³ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
// a ¶ó´Â id¸¦ °¡Áö°í ÀÖ´Â ¿ä¼Ò¸¦ ¸¶¿ì½º ¿À¹ö½Ã '¸¶¿ì½º¿À¹ö'¶ó´Â °æ°í ¹®±¸°¡ ³ªÅ¸³ª°í
¸¶¿ì½º Ŭ¸¯½Ã 'Ŭ¸¯'À̶ó´Â °æ°í ¹®±¸°¡ ³ªÅ¸³´Ù.
$(function() {
$("#a").bind({
click : function() {
alert("Ŭ¸¯");
},
mouseover : function() {
alert("¸¶¿ì½º¿À¹ö");
}
});
});
one(eventType, [eventData], handler(eventObject))
: ÀÏÄ¡µÈ ¸ðµç ¿¤¸®¸ÕÆ®¿¡ ÁöÁ¤ÇÑ À̺¥Æ® ŸÀÔÀÇ Çڵ鷯·Î Àü´ÞµÈ ÇÔ¼ö¸¦ ÇÒ´çÇÑ´Ù.
: ½ÇÇàµÈ µÚ »èÁ¦µÈ´Ù. Áï, ÆäÀÌÁö´ç ´Ü Çѹø¸¸ ½ÇÇàµÈ´Ù.
: eventType - (String)Çڵ鷯¸¦ ÇÒ´çÇÒ À̺¥Æ® ŸÀÔÀÇ À̸§
: eventData - (Object)Çڵ鷯 ÇÔ¼ö¿¡¼ »ç¿ëÇϵµ·Ï Event ÀνºÅϽº¿¡ data¶ó´Â ÇÁ·ÎÆÛƼ·Î Á¦°øµÇ´Â µ¥ÀÌÅÍ. »ý·« °¡´É
: handler - (Function)À̺¥Æ® Çڵ鷯·Î ÇÒ´çµÉ ÇÔ¼ö
: return È®Àå ÁýÇÕ
// a ¶ó´Â id¸¦ °¡Áö°í ÀÖ´Â ¿ä¼Ò¸¦ Ŭ¸¯ Çϸé
//one CSS class¸¦ Ãß°¡ÇÏ°í ¹Ù·Î click À̺¥Æ®°¡ ÇØÁ¦µÈ´Ù.
$(function(){
$('#a').one('click', function(){
$('body').addClass('one');
});
});
trigger(eventType, extraParamters) : °¢ ¿ä¼ÒÀÇ Àμö·Î °Ç³×ÁØ À̺¥Æ®¸¦ Çѹø ½ÇÇà
// a¶ó´Â id¸¦ °¡Áø ¿ä¼ÒÀÇ click À̺¥Æ®¸¦ ¹ß»ý½ÃŲ´Ù.
$(function(){
$('#a').trigger('click');
});
// trigger() ¸Þ¼µå ±â´ÉÀ» °£¼ÒÈÇÏ¿© »ç¿ëÇÏ¿´´Ù.
$(function(){
$('#a').click();
});
$(function(){
$("#div1").click(function(){
alert("¿§Çð");
});
$("#div2").one("click", function(){
alert("³ Çѹø¸¸ ½ÇÇàÇÑ´Ù");
});
$("#div1").trigger("click");
//#div1.click À̺¥Æ®¸¦ ÆäÀÌÁö ·Îµå½Ã¿¡ ¹ß»ý½ÃŲ´Ù.
//À§¿¡¼ Á¤ÀÇÇÑ À̺¥Æ®ÇÔ¼ö¸¦ °Á¦·Î ½ÇÇàÇÏ´Â ¿ëµµ·Î ¾²ÀδÙ.
});
triggerHandler(eventType, extraParamters)
: ¿ä¼ÒÀÇ À̺¥Æ®¸¦ ½ÇÇàÇÏÁö¸¸ Çڵ鷯¿¡ µé¾î°¡ ÀÖ´Â ÇÔ¼ö¸¸À» ½ÇÇàÇÑ´Ù. ºê¶ó¿ìÀú°¡ µðÆúÆ®·Î °¡Áö°í ÀÖ´Â ÀÛµ¿Àº ÇàÇØÁöÁö ¾Ê´Â´Ù.
unbind(eventType, [eventData], handler(eventObject))/unbind(event)
: È®Àå ÁýÇÕÀÇ ¸ðµç ¿¤¸®¸ÕÆ®¿¡¼ Àü´ÞµÈ ¸Å°³º¯¼ö¿¡ µû¶ó À̺¥Æ® Çڵ鷯¸¦ ¼±ÅÃÀûÀ¸·Î Á¦°ÅÇÑ´Ù.
: eventType - (String)¸Å°³º¯¼ö¸¦ Á¦°øÇϸé ÁöÁ¤µÈ À̺¥Æ® ŸÀÔ¿¡ ÇÒ´çµÈ ¸®½º³Ê¸¸ Á¦°ÅÇÑ´Ù.
: handler(eventObject): (Function)¸Å°³º¯¼ö¸¦ Á¦°øÇϸé ÁöÁ¤µÈ ¸®½º³Ê¿Í µ¿ÀÏÇÑ °Í¸¸ Á¦°ÅÇÑ´Ù.
: event - (Event) EventÀνºÅϽºÀÇ Á¤º¸·Î ¾Ë ¼ö ÀÖ´Â À̺¥Æ®°¡ ¹ß»ýÇßÀ» ¶§ È£ÃâµÉ ¸®½º³Ê¸¦ Á¦°ÅÇÑ´Ù.
: return È®Àå ÁýÇÕ
// a ¶ó´Â id¸¦ °¡Áö°í ÀÖ´Â ¿ä¼Ò¸¦ ¸¶¿ì½º Ŭ¸¯½Ã testÀÇ ±â´ÉÀÎ body¿¡ test_class¶ó´Â
// CSS class¸¦ Ãß°¡ÇÏ´Â ±â´ÉÀ» ¸¸µçÈÄ unbind ¸Þ¼µå¸¦ ÀÌ¿ëÇÏ¿© ´Ù½Ã ±× ±â´ÉÀ» Á¦°ÅÇÏ°í ÀÖ´Ù.
$(function(){
var test = function(){
$('body').addClass('test_class');
};
$('#a').click(test);
$('#a').unbind('click', test);
});
click(handler(eventObject))
: Çڵ鷯¸¦ À̺¥Æ®¿¡ ¿¬°áÇÏ´Â °ÍÀº ÈçÇÑ ÀÛ¾÷À̱⠶§¹®¿¡, jQuery´Â º¸´Ù ´õ °£´ÜÇÏ°í ¸í·áÇÑ ¹æ½ÄÀÇ °£¼ÒÈµÈ À̺¥Æ® ¸Þ¼µå¸¦ Á¦°øÇÏ°í ÀÖ´Ù.
<script>
$(function(){
// a ¶ó´Â id¸¦ °¡Áö°í ÀÖ´Â ¿ä¼Ò¸¦ Ŭ¸¯½Ã body¿¡ test_class¶ó´Â CSS class¸¦ Ãß°¡½ÃŲ´Ù.
// 1...
$('#a').click(function(){
$('body').addClass('test_class');
});
// 2...
$('table tr:gt(0) td').click(
alert($(this).text());
);
$('table').append("<tr><td>Å×½ºÆ®</td></tr>"); // click À̺¥Æ® Àû¿ëµÇÁö ¾ÊÀ½
});
</script>
<table border="1">
<tr><td>Á¦¸ñ</td></tr>
<tr><td>ÀÚ¹Ù</td></tr>
<tr><td>ÇÁ·¹ÀÓ¿öÅ©</td></tr>
</table>
click() : click À̺¥Æ®¸¦ ½ÇÇà ½ÃŲ´Ù.
// a ¶ó´Â id¸¦ °¡Áö°í ÀÖ´Â ¿ä¼ÒÀÇ click À̺¥Æ®¸¦ ½ÇÇà½ÃŲ´Ù.
$(function(){
$('#a').click();
});
¡Ü Interaction Helpers
hover(handerIn(eventObject), handerOut(eventObject))
: ¿ä¼Ò¿¡ ¸¶¿ì½º°¡ À̵¿ ÇßÀ» ¶§ÀÇ ÀÛµ¿À» ¼³Á¤ÇÑ´Ù. outÀº ¸¶¿ì½º°¡ ¹þ¾î³µÀ» ¶§ È£Ãâ
// a ¶ó´Â id °¡Áö°í ÀÖ´Â ¿ä¼Ò¿¡ ¸¶¿ì½º Ä¿¼°¡ µé¾î°¡¸é hover CSS class ¸¦ Ãß°¡ÇÏ°í ¸¶¿ì½º°¡
// ¶°³ª¸é hover CSS class¸¦ Á¦°Å ÇÑ´Ù.
$(function(){
$('#a').hover(function(){
$('body').addClass('hover');
}, function(){
$('body').removeClass('hover');
});
});
¡Ü on() / off()
on(events [, selector] [, data], handler(eventObject) )
on(events-map [, selector] [, data])
jQuery 1.7.x ¹öÀü À̻󿡼´Â Çâ»óµÈ ¸Þ¼ÒµåÀÎ .on() ¸Þ¼Òµå¸¦ Á¦°øÇÑ´Ù. 1.7.x ¹öÀü À̻󿡼´Â bind(), live(), delegate() ¸Þ¼Òµåµéµµ ¸ðµÎ on ¸Þ¼Òµå·Î ÀÛµ¿Çϵµ·Ï ¼Ò½ºÄڵ尡 ¹Ù²î¾úÀ¸¸ç ¼º´É ¹®Á¦·Î ÀÎÇØ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì 1.7.x ÀÌ»óÀÇ ¹öÀüÀ¸·Î ±³Ã¼ÇÑ´Ù.
onÀ» ÀÌ¿ëÇÏ¸é ¹®¼ ·Îµù ÈÄ »õ·Ó°Ô ¸¸µé¾îÁø ű׿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
bind() : $(selector).on(eventName,eventHandler)
delegate() : $(ancestor selector).on(eventName, selector,eventHandler)
live() : $(selector).on(eventName, eventHandler)
live()´Â 1.7ºÎÅÍ Æó±â
<script type="text/javascript">
// ex) Header¸¦ ¸¶¿ì½º Ŭ¸¯½Ã º¹Á¦
// ¹Ø 3°¡Áö Áß Çϳª¸¦ ¼±ÅÃ.
$(document).ready(function() {
// 1. bind()ÀÏ °æ¿ì
$('div').on('click',function() {
$(this).clone().appendTo('body'); //body¿¡ clone()¸Þ¼µå ÀÌ¿ë º¹Á¦
});
// 2. delegate()ÀÏ °æ¿ì Á¶±Ý ´Ù¸£´Ù.
$('body').on('click','div',function(){
$(this).clone().appendTo('body'); //body¿¡ clone()¸Þ¼µå ÀÌ¿ë º¹Á¦
});
// 3. live()ÀÏ °æ¿ì(À̺¥Æ®¿¡ ´ëÇؼ Çڵ鷯¸¦ µî·Ï)
$(document).on('click','div',function() {
$(this).clone().appendTo('body'); //body¿¡ clone()¸Þ¼µå ÀÌ¿ë º¹Á¦
});
});
</script>
<div id="wrap">
<h1>Header</h1>
</div>
events-mapÀº JSON ȤÀº mapÀÌ ¿Ã ¼ö ÀÖ´Ù.
$(document).on({
click : function() {
alert("Ŭ¸¯");
},
mouseover : function() {
alert("¸¶¿ì½º¿À¹ö");
}
}, "button");
.off( events [, selector] [, handler(eventObject)] )
.off( events-map [, selector] )
: À̺¥Æ® Á¦°Å
$("#btn").click(function(){
$(document).off("click", "div");
});
//div click À̺¥Æ®¿¡ ÇØ´çÇÏ´Â ÇÔ¼ö¸¦ Á¦°ÅÇØ ´õ ÀÌ»ó ÇØ´ç ÇÔ¼ö°¡ ½ÇÇàµÇÁö ¾Ê´Â´Ù.
¡Ü Ajax Events
ajaxComplete(handler()) : AJAX requestÀÇ ¼Û½Å ¿Ï·á½Ã¿¡ ½ÇÇàµÇ´Â ÇÔ¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
ajaxError(handler()) : AJAX requestÀÇ ¼Û½Å ½ÇÆнÿ¡ ½ÇÇàµÇ´Â ÇÔ¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
ajaxSend(handler()) : AJAX requestÀÇ ¼Û½ÅÀü¿¡ ½ÇÇàµÇ´Â ÇÔ¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
ajaxStart(handler()) : AJAX requestÀÇ ¼Û½Å °³½Ã¿¡ active request°¡ ¾ø´Â °æ¿ì¿¡ ½ÇÇàµÇ´Â ÇÔ¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
ajaxStop(handler()) : AJAX requestÀÇ ¼Û½Å Á¾·á½Ã¿¡, ½ÇÇàµÇ´Â ÇÔ¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
ajaxSuccess(handler()) : AJAX requestÀÇ ¼Û½ÅÀÌ ¼º°ø½Ã¿¡ ½ÇÇàµÇ´Â ÇÔ¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
$(document).ajaxStart(function() {
console.log('ajax stated');
}).ajaxComplete(function(){
console.log('ajax complete');
});
¡Ø 1.9.x ÀÌÈÄ ¹öÀü¿¡¼´Â ajax event Æ®¸®°Å¸¦ document¿¡¸¸ ¹ÙÀεåÇÒ ¼ö ÀÖ´Ù.2
http://jquery.com/upgrade-guide/1.9/#ajax-events-should-be-attached-to-document
¡Ü Event ÀνºÅϽº ÇÁ·ÎÆÛƼ
altKey : Alt Å°°¡ ´¸®¸é true, ¾Æ´Ï¸é fasle
ctrlKey : Ctrl Å°°¡ ´¸®¸é true, ¾Æ´Ï¸é fasle
data : bind() Ä¿¸ÇµåÀÇ µÎ ¹ø° ¸Å°³º¯¼ö·Î Àü´ÞµÈ °ª
KeyCode : ´¸° Å°¸¦ ¹Ýȯ
metaKey : ¸ÞŸŰ°¡ ´¸®¸é true, ¾Æ´Ï¸é false
pageX : ¸¶¿ì½º À̺¥Æ®ÀÇ °æ¿ì À̺¥Æ®°¡ ¹ß»ýÇÑ xÁÂÇ¥
pageY : ¸¶¿ì½º À̺¥Æ®ÀÇ °æ¿ì À̺¥Æ®°¡ ¹ß»ýÇÑ yÁÂÇ¥
relatedTarget : ¸¶¿ì½º À̺¥Æ®ÀÇ °æ¿ì Ä¿¼°¡ µé¾î°¡°Å³ª ³ª¿Â ¿¤¸®¸àÆ®
screenX : ¸¶¿ì½º À̺¥Æ®ÀÇ °æ¿ì ½ºÅ©¸°¿¡¼ À̺¥Æ®°¡ ¹ß»ýÇÑ xÁÂÇ¥
screenY : ¸¶¿ì½º À̺¥Æ®ÀÇ °æ¿ì ½ºÅ©¸°¿¡¼ À̺¥Æ®°¡ ¹ß»ýÇÑ yÁÂÇ¥
shiftKey : Shift Å°°¡ ´¸®¸é true, ¾Æ´Ï¸é fasle
target : À̺¥Æ®°¡ ¹ß»ýÇÑ ¿¤¸®¸ÕÆ®
type : À̺¥Æ® ŸÀÔÀ» ¸í½Ã
which : À̺¥Æ® Å° ÄÚµå ¶Ç´Â ¸¶¿ì½º ´·ÁÁø °ª(¿ÞÂÊ1, Áß°£2, ¿À¸¥ÂÊ3)
$(function(){
$('.test').keypress(function(event){
if (event.which && (event.which > 47 && event.which < 58 || event.which == 8)) {
alert('¼ýÀÚÀÓ!');
} else {
alert('¼ýÀھƴÔ!');
event.preventDefault();
}
});
});
:
<div class="test">
<input type="text"/>
</div>
ie °è¿ÀÇ Browser¿¡¼´Â event.returnValue = false;
±× ¿ÜÀÇ Browser¿¡¼´Â event.preventDefault()¸¦ ÀÌ¿ëÇØ ±âº» À̺¥Æ®¸¦ Ãë¼Ò ÇÑ´Ù.
¡Ü Event Helpers
blur() : °¢ ¿ä¼ÒÀÇ blur À̺¥Æ®¸¦ ½ÇÇà. blur À̺¥Æ®´Â ¿ä¼Ò°¡ ¸¶¿ì½ºµîÀÇ pointing, device³ª ÅÇ Å°µî¿¡¼ Æ÷Ä¿½º¸¦ ÀÒÀº ¶§ ¹ß»ý.
blur(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ blurÀ̺¥Æ®¸¦ ¼³Á¤
change()
: °¢ ¿ä¼ÒÀÇ change À̺¥Æ®¸¦ ½ÇÇà. change À̺¥Æ®´Â Æ÷Ä¿½º¸¦ ÀÒÀº »óÅÂÀÇ input¿ä¼Ò°¡ Æ÷Ä¿½º¸¦ ¾ò°í, °ªÀÇ º¯°æÀ» ¿Ï·áÇßÀ» ¶§¿¡ ½ÇÇàµÈ´Ù.
change(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ change À̺¥Æ®¸¦ ¼³Á¤
$("select").change(function () {
// ...
});
click() : °¢ ¿ä¼ÒÀÇ click À̺¥Æ®¸¦ ½ÇÇà
click(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ click À̺¥Æ®¸¦ ¼³Á¤
$("p").click(function () {
// ...
});
dblclick() : °¢ ¿ä¼ÒÀÇ dblclick À̺¥Æ®¸¦ ½ÇÇà
dblclick(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ dblclick À̺¥Æ®¸¦ ¼³Á¤
error() : °¢ ¿ä¼ÒÀÇ error À̺¥Æ®¸¦ ½ÇÇà. ºê¶ó¿ìÀúÀÇ µðÆúÆ®ÀÇ errorÀÇ ÀÛµ¿°ú ÀÌ°Í¿¡ bindµÈ ¸ðµç ÇÔ¼ö°¡ ½ÇÇàµÈ´Ù.
error(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ error À̺¥Æ®¸¦ ¼³Á¤
focus() : °¢ ¿ä¼ÒÀÇ focus À̺¥Æ®¸¦ ½ÇÇà. focus À̺¥Æ®´Â ¸¶¿ì½ºµîÀÇ pointing, device ³ª ÅÇ Å°·Î ¿ä¼Ò°¡ Æ÷Ä¿½º¸¦ ¹Þ¾ÒÀ» ¶§¿¡ ½ÇÇàÇÑ´Ù.
focus(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ focus À̺¥Æ®¸¦ ¼³Á¤
focusin( handler(eventObject)) / focusin( [ eventData ], handler(eventObject))
focusout( handler(eventObject) ) / focusout( [ eventData ], handler(eventObject))
: "focus"¿Í "blur" À̺¥Æ®¸¦ À§ÀÓÇÑ °ÍÀ¸·Î "focusin"°ú "focusout"À¸·Î ¸í¸íÇÑ °Í ÀÌ´Ù.
: ƯÁ¤ÇÑ ¿ä¼Ò ¹× ÀÚ½Ä ¿ä¼Ò¿¡¼ ÀϾ´Â ¾×¼ÇÀ» °¨ÁöÇÏ¿© À̺¥Æ®¸¦ ¹ß»ýÇÑ´Ù.
$('form').focusin(function() {
$(this).addClass('focused');
}).focusout(function() {
$(this).removeClass('focused');
});
//ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº "bubble"ÀÌ ¹ß»ýÇÏÁö ¾Ê´Â ´Ù´Â °ÍÀÌ´Ù.
//Áï ºÎ¸ð ¿ä¼Ò´Â ´ë»ó ¿ä¼Òº¸´Ù ¸ÕÀú Æ®¸®°ÅµÇ´Â °ÍÀ» ÀǹÌÇÑ´Ù.
keydown() : °¢ ¿ä¼ÒÀÇ keydown À̺¥Æ®¸¦ ½ÇÇà
keydown(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ keydown À̺¥Æ®¸¦ ¼³Á¤
keypress() : °¢ ¿ä¼ÒÀÇ keypress À̺¥Æ®¸¦ ½ÇÇà
keypress(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ keypress À̺¥Æ®¸¦ ¼³Á¤
keyup() : °¢ ¿ä¼ÒÀÇ keyup À̺¥Æ®¸¦ ½ÇÇà
keyup(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ keyup À̺¥Æ®¸¦ ¼³Á¤
mousedown(handler(eventObject)) : °¢ ¿ä¼ÒÀÇ mousedown À̺¥Æ®¸¦ ¼³Á¤
mousemove(handler(eventObject)) : °¢ ¿ä¼ÒÀÇ mousemove À̺¥Æ®¸¦ ¼³Á¤
mouseout(handler(eventObject)) : °¢ ¿ä¼ÒÀÇ mouseout À̺¥Æ®¸¦ ¼³Á¤
mouseover(handler(eventObject)) : °¢ ¿ä¼ÒÀÇ mouseover À̺¥Æ®¸¦ ¼³Á¤
mouseup(handler(eventObject)) : °¢ ¿ä¼ÒÀÇ mouseup À̺¥Æ®¸¦ ¼³Á¤
resize(handler(eventObject)) : °¢ ¿ä¼ÒÀÇ resize À̺¥Æ®¸¦ ¼³Á¤
scroll(handler(eventObject)) : °¢ ¿ä¼ÒÀÇ scroll À̺¥Æ®¸¦ ¼³Á¤
select() : °¢ ¿ä¼ÒÀÇ select À̺¥Æ®¸¦ ½ÇÇà. select À̺¥Æ®´Â ÅؽºÆ® ¿¡¸®¾îÀÇ ¹®ÀÚ¿À» ¼±Åà »óÅ·ΠÇϰųª ¼±Åà ¹üÀ§¸¦ º¯°æÇßÀ» ¶§¿¡ ½ÇÇà ÇÑ´Ù.
select(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ select À̺¥Æ®¸¦ ¼³Á¤
submit() : °¢ ¿ä¼ÒÀÇ submit À̺¥Æ®¸¦ ½ÇÇà
submit(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ submit À̺¥Æ®¸¦ ¼³Á¤
load(handler(eventObject)) : °¢ ¿ä¼ÒÀÇ load À̺¥Æ®¸¦ ¼³Á¤ jQuery 1.8¿¡¼ »èÁ¦(Deprecated)
unload(handler(eventObject)) : °¢ ¿ä¼Ò¿¡ unload À̺¥Æ®¸¦ ¼³Á¤ jQuery 1.8¿¡¼ »èÁ¦(Deprecated)
Effects
¡Ü Basics
show() : °¢ ¿ä¼Ò°¡ º¸ÀÌÁö ¾Ê´Â °æ¿ì Ç¥½ÃÇÑ´Ù.
show([speed], [callback])
: Ç¥½Ã½ÃÀÇ ½ºÇǵ带 ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¶Ç, Ç¥½Ã°¡ ¿Ï·áÇßÀ» ¶§¿¡ È£ÃâÇÏ´Â ÇÔ¼ö¸¦ ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù.
//aÀÇ id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé b¶ó´Â id¸¦ °¡Áø ¿ä¼Ò°¡ ³ªÅ¸³´Ù. speed¸¦ »ç¿ë½Ã Á¤ÇÑ ½Ã°£µ¿¾È
//¿ä¼ÒÀÇ ³ôÀ̸¦ ¸Ç À§·ÎºÎÅÍ ¹Ù´Ú±îÁö, ³Êºñ´Â ¿ÞÂÊ¿¡¼ ¿À¸¥ÂʱîÁö, ºÒÅõ¸íµµ´Â 0¿¡¼ 1±îÁö Áõ°¡½ÃŲ´Ù.
$("button").click(function () {
$("p").show("slow");
});
hide() : °¢ ¿ä¼Ò¸¦ º¸ÀÌÁö ¾Ê°Ô ÇÑ´Ù.
: Return jQuery Object - ´ë»ó °´Ã¼
hide([speed], [callback])
: ºñÇ¥½Ã½ÃÀÇ ½ºÇǵ带 ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¶Ç, ºñÇ¥½Ã µÇ¾úÀ» ¶§¿¡ È£ÃâÇÏ´Â ÇÔ¼ö¸¦ ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù.
// a¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé b¶ó´Â id¸¦ °¡Áø ¿ä¼Ò°¡ »ç¶óÁø´Ù. speed¸¦ »ç¿ë½Ã ¿ä¼ÒÀÇ
//³ôÀÌ, ³Êºñ, ºÒÅõ¸íµµ¸¦ Á¤ÇÑ ½Ã°£µ¿¾È 0±îÁö °¨¼Ò½ÃÅ°°í display:none »óŸ¦ Àû¿ë½ÃŲ´Ù.
$("button").click(function () {
$("p").hide("slow");
});
.toggle([duration] [, callback])
.toggle([duration] [, easing] [,callback])
.toggle( showOrHide )
: °¡½Ã¼ºÀ» ÄÁÆ®·ÑÇÏ´Â .toggle()·Î ÁöÁ¤µÈ ¿ä¼ÒÀÇ Ç¥½Ã/ºñÇ¥½Ã¸¦ È£ÃâµÉ ¶§ ¸¶´Ù ¹Ý´ëÀÇ °ªÀ¸·Î º¯°æÇÑ´Ù.
duration: ¹Ð¸®¼¼ÄÁµå ½Ã°£ °ª. °¡½Ã¼º ¼Ó¼ºÀÌ º¯°æµÇ´Â ¼Óµµ¸¦ ÀǹÌÇÑ´Ù. °¡·É 'slow'ÀÇ °æ¿ì ¼¼È÷ º¸¿©Áö°Å³ª »ç¶óÁø´Ù.
easing: Åä±Û Ư¼ö È¿°ú
callback Äݹé ÇÔ¼ö
http://www.websamo.com/bbs/board.php?bo_table=jquery_api&wr_id=191&sfl=wr_subject&stx=toggle&sop=and
$("button").click(function () {
$("p").toggle(); //show(), hide() ÇÔ¼ö°¡ Åä±Û ½Ã ¸Å¹ø ±³Â÷È£Ãâ
});
.toggle(callback, callback [, callback)
: ÁöÁ¤µÈ ÄݹéÇÔ¼ö¸¦ ±³Â÷ È£ÃâÇÑ´Ù. °¡½Ã¼º ÄÁÆ®·Ñ°ú´Â °ü·ÃÀÌ ¾ø´Ù.
http://www.websamo.com/bbs/board.php?bo_table=jquery_api&wr_id=168&sfl=wr_subject&stx=toggle&sop=and
.toggle(callback, callback [, callback)Àº 1.8¿¡¼ Æó±âµÇ¾ú´Ù.
delay(duration, [ queueName ])
: Äݹé°ú ¾Ö´Ï¸ÞÀÌ¼Ç »çÀÌÀÌÀÇ È¥¶õÀ» ¹æÁöÇÏ°í "setTimeout" ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾Ê°íµµ Áö¿¬½ÃÅ°°í ½ÍÀº ¸¸Å ¾Ö´Ï¸ÞÀ̼ÇÀ» Áö¿¬½Ãų¼ö ÀÖ´Ù.
jQuery('#foo')
.slideDown() // Slide down
.delay(200) // Do nothing for 200 ms
.fadeIn(); // Fade in
//".delay()"ÀÇ Ã¹ ¹ø° ÀÎÀÚ·Î ¹Ð¸®¼¼ÄÁÁî ´ÜÀ§ÀÇ Áö¿¬ ½Ã°£°ªÀ» ±âÀÔÇÑ´Ù. ¸¸¾à ´Ù¸¥ ¾Ö´Ï¸ÞÀ̼Ç
//´ë±â¿À» »ç¿ëÇÏ·Á¸é µÎ¹ø° ÀÎÀÚ·Î ´ë±â¿ À̸§À» Àü´ÞÇÒ ¼ö ÀÖ´Ù.(±âº»: "fx")
¡Ü Sliding
slideDown([speed], [callback]) : ºñÇ¥½ÃÀÇ ¿ä¼Ò¸¦, ±× ¿ä¼ÒÀÇ ³ôÀÌ°¡ µÉ ¶§±îÁö ¼¼È÷ Ç¥½ÃÇØ °£´Ù.
// test_id ¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé a¶ó´Â id¸¦ °¡Áø ¿ä¼Ò°¡ 0.5ÃÊ°£ ½½¶óÀ̵ù(DOWN) È¿°ú¸¦ ³ªÅ¸³½´Ù.
$(function(){
$("#test_id").click(function(){
$("#a").slideDown(500);
});
});
slideUp([speed], [callback]) : °¢ ¿ä¼Ò¸¦, ³ôÀÌ°¡ Á¦·Î°¡ µÉ ¶§±îÁö ¼¼È÷ º¸ÀÌÁö ¾Ê°Ô ÇÑ´Ù.
// test_id ¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé a¶ó´Â id¸¦ °¡Áø ¿ä¼Ò°¡ 0.5ÃÊ°£ ½½¶óÀ̵ù(UP) È¿°ú¸¦ ³ªÅ¸³»¸ç »ç¶óÁø´Ù.
$(function(){
$("#test_id").click(function(){
$("#a").slideUp(500);
});
});
slideToggle([speed], [callback]) : ÀÌ ÇÔ¼ö°¡ ºÒ¸± ¶§¸¶´Ù °¢ ¿ä¼Ò¿¡ slideDown/slideUp(À»)¸¦ ±³´ë·Î ½ÇÇàÇÑ´Ù.
: Return jQuery Object - ´ë»ó °´Ã¼
// test_id ¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé a¶ó´Â id¸¦ °¡Áø ¿ä¼ÒÀÇ styleÀÇ display °ªÀÌ
//noneÀÏ °æ¿ì slideDown, ¾Æ´Ò °æ¿ì(block ¶Ç´Â liline) slideUp È¿°ú¸¦ ³ªÅ¸³½´Ù.
$(function(){
$("#test_id").click(function(){
$("#a").slideToggle(500);
});
});
¡Ü Fading
fadeIn([speed], [callback])
: ÁöÁ¤ÇÑ ½Ã°£µ¿¾È Åõ¸íµµ¸¦ 0¿¡¼ 1·Î Áõ°¡½ÃÅ°°í styleÀÇ display¸¦ noneÀÇ ÀÌÀü»óÅ (block ¶Ç´Â liline)·Î Àû¿ë½ÃŲ´Ù. ÇØ´ç ¿ä¼Ò°¡ ¼¼È÷ ³ªÅ¸³ª°Ô Ç¥ÇöµÈ´Ù.
// a ¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé b¶ó´Â id¸¦ °¡Áø ¿ä¼Ò°¡ 0.5ÃÊ°£ ÆäÀ̵ù(In) È¿°ú¸¦ ³ªÅ¸³½´Ù.
$(function(){
$("#a").click(function(){
$("#b").fadeIn(500);
});
});
fadeOut([speed], [callback])
: ÁöÁ¤ÇÑ ½Ã°£µ¿¾È Åõ¸íµµ¸¦ 1¿¡¼ 0À¸·Î °¨¼Ò½ÃÅ°°í styleÀÇ display:none »óÅ·ΠÀû¿ë½ÃŲ´Ù. ÇØ´ç ¿ä¼Ò°¡ ¼¼È÷ »ç¶óÁö°Ô Ç¥ÇöµÈ´Ù.
// a ¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé b¶ó´Â id¸¦ °¡Áø ¿ä¼Ò°¡ 0.5ÃÊ°£ ÆäÀ̵ù(Out) È¿°ú¸¦ ³ªÅ¸³»¸ç »ç¶óÁø´Ù.
$(function(){
$("#a").click(function(){
$("#b").fadeOut(500);
});
});
fadeTo(speed, opacity, [callback])
: ÁöÁ¤ÇÑ ½Ã°£µ¿¾È Åõ¸íµµ¸¦ opacity¸¸Å Áõ°¡ ¶Ç´Â °¨¼Ò½ÃŲ´Ù.(opacity ¸¸Å fade ½ÃŲ´Ù.)
// a ¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé b¶ó´Â id¸¦ °¡Áø ¿ä¼Ò°¡ 0.5ÃÊ°£ Åõ¸íµµ¸¦ 0.33À¸·Î º¯°æµÇ¸é¼ ÆäÀ̵ù(To) È¿°ú¸¦ ³ªÅ¸³½´Ù.
$(function(){
$("#a").click(function(){
$("#b").fadeTo(500, 0.33);
});
});
¡Ü Custom
animate(params, [duration], [easing], [callback]) : µ¶ÀÚÀûÀÎ ¾Ö´Ï¸ÞÀ̼ÇÀ» ÀÛ¼º, ½ÇÇàÇÑ´Ù.
animate(params, options) : µ¶ÀÚÀûÀÎ ¾Ö´Ï¸ÞÀ̼ÇÀ» ÀÛ¼º ½ÇÇàÇÑ´Ù.
$("#left").click(function(){
$(".block").animate({"left": "-=50px"}, "slow");
});
// test_id1À̶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé a¶ó´Â ¿ä¼ÒÀÇ width°ªÀ» 90%, height°ªÀ»
// 270px·Î 0.5Ãʵ¿¾È º¯È ÈÄ fontSize¸¦ 10px·Î º¯°æÇÑ´Ù.
// test_id2¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé a¶ó´Â ¿ä¼ÒÀÇ width°ªÀ» 50%, height°ªÀ»
// 500px·Î 3Ãʵ¿¾È º¯°æ °ú µ¿½Ã¿¡ queue:false ¼³Á¤À¸·Î ´ë±â ¾øÀÌ ¹Ù·Î fontSize 24px·Î º¯°æÇÑ´Ù.
$(function(){
$("#test_id1").click(function(){
$("#a").animate({
width : "90%", height : "270px"
}, 500).animate({
fontSize : "10px"
});
});
$("#test_id2").click(function(){
$("#a").animate({
width: "50%", height : "500px"
}, {
queue : false, duration : 3000
}).animate({
fontSize : "24px"
});
});
});
stop() : ½ÇÇàÁßÀÇ È¿°ú¸¦ Á¤ÁöÇÑ´Ù.
// test_id¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯Çϸé a¶ó´Â ¿ä¼ÒÀÇ È¿°ú¸¦ Á¤Áö½ÃŲ´Ù.
$(function(){
$("#test_id").click(function(){
$("#a").stop();
});
});
queue() : ÃÖÃÊÀÇ ¿ä¼Ò°¡ °¡Áö´Â È¿°úÀÇ Å¥¸¦ ÇÔ¼ö ¹è¿·Î µ¹·ÁÁØ´Ù.
<html>
<head>
<script src="http://code.jquery.com/jquery.min.js" ></script>
<script>
$(document).ready(function(){
$("#show").click(function () {
var n = $("div").queue("fx");
$("span").text("Queue length is: " + n.length);
});
function runIt() {
$("div").show("slow");
$("div").animate({left:'+=200'},2000);
$("div").slideToggle(1000);
$("div").slideToggle("fast");
$("div").animate({left:'-=200'},1500);
$("div").hide("slow");
$("div").show(1200);
$("div").slideUp("normal", runIt);
}
runIt();
});
</script>
<style>
div { margin:3px; width:40px; height:40px;
position:absolute; left:0px; top:30px;
background:green; display:none; }
div.newcolor { background:blue; }
span { color:red; }
</style>
</head>
<body>
<button id="show">Show Length of Queue</button>
<span></span>
<div></div>
</body>
</html>
queue(callback) : °¢ ¿ä¼Ò°¡ °¡Áö´Â Å¥ÀÇ ¸¶Áö¸·À¸·Î ½ÇÇàµÇ´Â ÇÔ¼ö¸¦ Ãß°¡ÇÑ´Ù.
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
$(document.body).click(function () {
$("div").show("slow");
$("div").animate({left:'+=200'},2000);
$("div").queue(function () {
$(this).addClass("newcolor");
$(this).dequeue();
});
$("div").animate({left:'-=200'},500);
$("div").queue(function () {
$(this).removeClass("newcolor");
$(this).dequeue();
});
$("div").slideUp();
});
});
</script>
<style>
div { margin:3px; width:40px; height:40px;
position:absolute; left:0px; top:30px;
background:green; display:none; }
div.newcolor { background:blue; }
</style>
</head>
<body>
Click here...
<div></div>
</body>
</html>
queue(queue) : ÇÔ¼ö ¹è¿À» °Ç³×ÁÖ¾î °¢ ¿ä¼ÒÀÇ È¿°ú Å¥¸¦ ¿Å°Ü³õ´Â´Ù.
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
$("#start").click(function () {
$("div").show("slow");
$("div").animate({left:'+=200'},5000);
$("div").queue(function () {
$(this).addClass("newcolor");
$(this).dequeue();
});
$("div").animate({left:'-=200'},1500);
$("div").queue(function () {
$(this).removeClass("newcolor");
$(this).dequeue();
});
$("div").slideUp();
});
$("#stop").click(function () {
$("div").queue("fx", []);
$("div").stop();
});
});
</script>
<style>
div { margin:3px; width:40px; height:40px;
position:absolute; left:0px; top:30px;
background:green; display:none; }
div.newcolor { background:blue; }
</style>
</head>
<body>
<button id="start">Start</button>
<button id="stop">Stop</button>
<div></div>
</body>
</html>
dequeue() : ±â´Ù¸®´Â Çà·ÄÀÇ ¼±µÎ·ÎºÎÅÍ Ã³¸®¸¦ ²¨³» ½ÇÇàÇÑ´Ù.
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function () {
$("div").animate({left:'+=200px'}, 2000);
$("div").animate({top:'0px'}, 600);
$("div").queue(function () {
$(this).toggleClass("red");
$(this).dequeue();
});
$("div").animate({left:'10px', top:'30px'}, 700);
});
});
</script>
<style>
div { margin:3px; width:50px; position:absolute;
height:50px; left:10px; top:30px;
background-color:yellow; }
div.red { background-color:red; }
</style>
</head>
<body>
<button>Start</button>
<div></div>
</body>
</html>
¡Ü Settings
jQuery.fx.off : È¿°ú¸¦ ÄѰųª ²ö´Ù.
// test_id¶ó´Â id¸¦ °¡Áø ¿ä¼Ò¸¦ Ŭ¸¯ ½Ã a°¡ 0.5Ãʵ¿¾È ¼¼È÷ »ç¶óÁöÁö ¾Ê°í ¹Ù·Î »ç¶óÁ® ¹ö¸°´Ù.
$(function(){
jQuery.fx.off = false;
$("#test_id").click(function(){
$("#a").hide(500);
});
});
Internals
¡Ü µ¥ÀÌÅÍ Ä³½¬
jQuery.data(elem) : ¿ä¼Ò¸¦ ½Äº°ÇÒ ¼ö ÀÖ´Â µ¶Æ¯ÇÑID(À»)¸¦ µ¹·ÁÁØ´Ù.
jQuery.data(elem, name) : ¿ä¼Ò¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø µ¥ÀÌÅ͸¦ µ¹·ÁÁØ´Ù.
jQuery.data(elem, name, value) : ¿ä¼Ò¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø µ¥ÀÌÅ͸¦ ¼³Á¤ÇØ, ¼³Á¤Ä¡¸¦ µ¹·ÁÁØ´Ù.
jQuery.removeData(elem) : ¾î´À ¿ä¼Ò¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø µ¥ÀÌÅ͸¦ ¸ðµÎ »èÁ¦ÇÑ´Ù.
jQuery.removeData(elem, name) : ¾î´À ¿ä¼Ò¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ´ø, ÁöÁ¤µÈ °ªÀ» »èÁ¦ÇÑ´Ù.
¡Ü Ajax
jQuery.param(obj) : form ¿ä¼Ò³ª ¿ÀºêÁ§Æ®ÀÇ °ªÀ» ½Ã¸®¾ó¶óÀÌÁî ÇÑ´Ù.
Utilities
°¢Á¾ À¯Æ¿¸®Æ¼
¡Ü À¯Àú ¿¡ÀÌÀüÆ®
jQuery.support : ºê¶ó¿ìÀú¸¶´ÙÀÇ ±â´ÉÀÇ Â÷À̳ª ¹ö±×µîÀÇ Á¤º¸¸¦ ±¸Á¶Ã¼·Î µ¹·ÁÁØ´Ù.
jQuery.browser : jQuery 1.3¿¡¼´Â jQuery.support¸¦ »ç¿ë
jQuery.browser.version : jQuery 1.3¿¡¼´Â jQuery.support¸¦ »ç¿ë. ºê¶ó¿ìÀú ·»´õ¸µ ¿£ÁøÀÇ ¹öÁ¯ ¹øÈ£.
jQuery.boxModel : jQuery 1.3¿¡¼´Â jQuery.support(À»)¸¦ »ç¿ë. W3C Ç¥ÁØ CSS Box Model(À»)¸¦ »ç¿ëÇÏ°í ÀÖ´ÂÁö ¿©ºÎ
.browser¿Í .boxModelÀº jQuery 1.3 ºÎÅÍ, .support´Â 1.9ºÎÅÍ Æó±âµÇ¾ú´Ù.
$(document).ready(function () {
var result = "";
//$.browserÀÇ ¸ðµç ¼Ó¼º Ãâ·Â
jQuery.each(jQuery.browser, function (i, val) {
result += i + ";" + val + "\n";
});
alert(result);
});
¡Ü ¹®ÀÚ¿ Á¶ÀÛ
jQuery.trim(str) : ¹®ÀÚ¿À» Æ®¸²
¡Ü ¹è¿°ú ¿ÀºêÁ§Æ® Á¶ÀÛ
jQuery.each(object, callback) : ¹ü¿ëÀûÀÎ ¹Ýº¹ ÇÔ¼ö. each() ¹®¿¡¼ return false;À» ¸¸³ª¸é each¹®À» ºüÁ® ³ª°¨
<script>
$(document).ready(function () {
//example 1
//h3¿ä¼Ò ¸ðµÎ °¡Á®¿À±â
var headers = $('h3');
// ¹Ýº¹¹®À» ÀÌ¿ëÇÑ ¹Ýº¹: for¹® º¸´Ù´Â jQueryÀÇ each¹®ÀÌ »ç¿ëÇϱâ Æí¸®
for (var i = 0; i < headers.length; i++) {
alert($(headers[i]).html());
}
$('h3').each(function (index) {
alert($(this).html());
});
//example 2
$("div").each(function(i) {
if (this.style.color != "blue") {
this.style.color = "blue";
} else {
this.style.color = "";
}
});
// example 3
$("#button1").click(function(event) {
var data = [];
var form = $("form :input[type=text]");
$.each(form, function(e, textBox) {
data.push($.trim(textBox.value));
});
$("#addressData").val(data.join(" "));
alert($("#addressData").val());
});
});
// example 4 Æû ÀԷ°ª °¡Á®¿À±â
function getAllValue() {
var address = "";
$("#address").find("input:text").each(function(i) {
address += $(this).val();
});
alert(address);
}
</script>
<body style="font-size: 9pt;">
<form id="form1">
<div id="address">
¿ìÆí¹øÈ£ : <input type="text" /> - <input type="text" /> <br />
ÁÖ¼Ò : <input type="text" /> <br />
»ó¼¼ ÁÖ¼Ò : <input type="text" /> <br />
<input type="button" value="¸ðµç ÀÔ·Â ³»¿ë°ª" on_click="getAllValue();" />
<input id="button1" type="button" value="AllValueToHidden" />
<input id="addressData" type="hidden" />
</div>
</form>
jQuery.extend(target, object1, [objectN]) : ¿ÀºêÁ§Æ®¸¦ È®Àå
jQuery.grep(array, callback, [invert]) : ¹è¿·ÎºÎÅÍ, ÇÔ¼ö¸¦ ÀÌ¿ëÇØ Æ¯Á¤ÀÇ °ªÀ» Á¦°Å
jQuery.makeArray(obj) : ¹è¿°ú °°ÀÌ ÀÌ¿ëÇÏ°í ÀÖ´Â ¿ÀºêÁ§Æ®¸¦, ½ÇÁ¦·Î ¹è¿·Î º¯È¯
jQuery.map(array, callback) : ¹è¿ÀÇ °¢ Ä¡¸¦ ÇÔ¼ö·Î ó¸®ÇÏ°í, »õ·Î¿î ¹è¿À» ÀÛ¼º
jQuery.inArray(value, array) : ÁöÁ¤ÇÑ °ªÀÌ ¹è¿Áß¿¡ ÀÖÀ¸¸é, ±× À妽º¸¦ ¸®ÅÏ
jQuery.unique(array) : ¹è¿ÁßÀ¸·ÎºÎÅÍ Áߺ¹ ÇÏ°í ÀÖ´Â °ªÀ» Á¦°Å
¡Ü °Ë»ç
jQuery.isArray(obj) : (jQuery 1.3) ÆĶó¹ÌÅÍ·Î °Ç³×¹ÞÀº °ªÀÌ ¹è¿ÀÏÁö¸¦ ÆǺ°
jQuery.isFunction(obj) : °Ç³×¹ÞÀº °ªÀÌ ÇÔ¼öÀÎÁö ¾î¶²Áö¸¦ ÆǺ°
¡Ü ÇÔ¼öÀÇ ÄÁÅؽºÆ® Á¶ÀÛÇϱâ
jQuery 1.4ºÎÅÍ »õ·Ó°Ô Á¦°øµÇ´Â "proxy" ÇÔ¼ö´Â jQueryÀÇ ³×ÀÓ½ºÆäÀ̽º¸¦ °ü¸®ÇÒ ¼ö ÀÖ°ÔÇÑ´Ù. ÀÌ ÇÔ¼ö´Â "scope"¿Í ¸Þ¼Òµå À̸§À» ¹Þ´Â µÎ°³ÀÇ ÀÎÀÚ¸¦ °¡Áö¸ç ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ "this" Å°¿öµå¸¦ ÅëÇÏ¿© ´Ù¸¥ °³Ã¼¸¦ À¯ÁöÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
¿¹¸¦ µé¾î "app" ´Â "config" ¿Í "clickHandler" ¸Þ¼Òµå·Î ±¸¼ºµÈ µÎ°³ÀÇ ¼Ó¼ºÀ» °¡Áö°í ÀÖ´Ù¸é,
var app = {
config: {
clickMessage: 'Hi!'
},
clickHandler: function() {
alert(this.config.clickMessage);
}
};
"clickHandler" ¸Þ¼Òµå¸¦ ½ÇÇàÇϸé "this" Å°¿öµå¸¦ ÅëÇÏ¿© "app" °³Ã¼¿¡ Á¢±ÙÇÏ°í "config" °³Ã¼¸¦ È£ÃâÇÏ¿© °ªÀ» ÃëµæÇÒ ¼ö ÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
app.clickHandler(); // "Hi!" is alerted
ÀÌ ¸Þ¼Òµå¸¦ À̺¥Æ® Çڵ鷯·Î ¹ÙÀεùÇϸé,
jQuery('a').bind('click', app.clickHandler);
ÀÌ·¸°Ô ¹ÙÀεùµÈ ¸Þ¼Òµå´Â Á¤»óÀûÀ¸·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. ¿Ö³ÄÇϸé jQuery(Á¤È®È÷ ¸»Çϸé event model)¿¡ ÀÇÇؼ "this"°¡ ÀçÁ¤ÀÇ µÇ¾î ¹ö¸®±â ¶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ ¹®Á¦µéÀ» ÇØ°áÇϱâ À§Çؼ Á¦°øÇÏ´Â ÇÔ¼ö°¡ ¹Ù·Î "proxy"ÀÌ´Ù.
jQuery('a').bind('click',
jQuery.proxy(app, 'clickHandler')
);
ÀÌÁ¦ ¾ÞÄ¿¸¦ Ŭ¸¯Çϸé "Hi!"¶ó´Â ¹®±¸°¡ ³ªÅ¸³´Ù.
"proxy" ÇÔ¼ö°¡ ¸®ÅÏÇÏ´Â °ÍÀº "wrapped"µÈ ÇÔ¼öÀÌ´Ù. ¿©±â¿¡´Â À̺¥Æ®°¡ µÇµ¹·ÁÁØ °³Ã¼¿Í "app"°¡ µé°íÀÖ´Â µÎ ¼Ó¼ºÀ» "this"·Î È®ÀåÇؼ µ¹·ÁÁØ °ÍÀÌ´Ù. ÀÌ°ÍÀº À̺¥Æ®¸¦ ¹ÙÀεù ÇÒ ¶§ »Ó¸¸¾Æ´Ï¶ó Ç÷¯±×ÀÎÀ» ¸¸µé°Å³ª ÄݹéÀ» È£ÃâÇÏ´Â µ¥¿¡µµ À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Ù.
¡Ü jQuery.contains( container, contained )
jQuery 1.4¿¡¼´Â jQuery ³×ÀÓ½ºÆäÀ̽º¿¡ "contains" ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù. ÀÌ ÇÔ¼ö´Â ³·Àº ¼öÁØÀÇ ÇÔ¼ö·Î½á µÎ°³ÀÇ DOM ³ëµå¸¦ ÀÎÀÚ·Î ¹Þ¾Æ ¼ö¿ë¿©ºÎ¸¦ ±¸ºÐÇÑ´Ù. ù ¹ø° ¿ä¼Ò°¡ µÎ¹ø° ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ°í ÀÖ´ÂÁö¿¡ ´ëÇÑ ¿©ºÎ¸¦ ºÒ¸°(boolean) Çü½ÄÀ¸·Î ¹ÝȯÇÑ´Ù.
jQuery.contains(document.documentElement, document.body);
// Returns true - <body> is within <html>
̵̧ : 741
̵̧
¸ñ·Ï