ȸ¿ø·Î±×ÀÎ
jquery trigger(), ÇÔ¼ö ½ÇÇà½ÃÅ°±â
8³â Àü
.trigger( eventType [, extraParameters] )
°³¿ä : ƯÁ¤ À̺¥Æ® À¯Çü¿¡ ´ëÇØ ¼±ÅÃµÈ ¿ä¼Ò¿¡ ¿¬°áµÈ ¸ðµç Çڵ鷯¿Í µ¿ÀÛ(behavior)À» ½ÇÇàÇÕ´Ï´Ù.
.trigger( eventType [, extraParameters] )
eventType JavaScript À̺¥Æ® ŸÀÔÀ» Ç¥ÇöÇÏ´Â ¹®ÀÚ¿, click ¶Ç´Â submit °°Àº.
extraParameters À̺¥Æ® Çڵ鷯¿¡ Àü´ÞÇÒ Ãß°¡ ÆĶó¹ÌÅÍ.
.trigger( event )
event jQuery.Event °´Ã¼.
.trigger() ÇÔ¼ö´Â À̺¥Æ®°¡ ¹ß»ýÇÒ ¶§ ½ÇÇàµÉ ÇÔ¼ö³ª .bind() ÇÔ¼ö·Î ¿¬°áµÈ ¾î¶² À̺¥Æ® Çڵ鷯¸¦ °Á¦·Î ½ÇÇà½ÃÄÑ ÁÝ´Ï´Ù. A call to .trigger() ÇÔ¼ö¸¦ »ç¿ëÇؼ »ç¿ëÀÚ°¡ ÀÏÀ¸Å³ À̺¥Æ®¸¦ ÀÓÀÇÀûÀ¸·Î ¼ø¼¿¡ µû¶ó ¹ß»ý½Ãų ¼ö ÀÖ½À´Ï´Ù.
$('#foo').bind('click', function() {
alert($(this).text());
});
$('#foo').trigger('click');
jQuery 1.3¿¡ ¿Í¼, .trigger() ÇÔ¼ö´Â DOM ±¸Á¶¿¡ µû¶ó ¹öºí¸µÀ» Áö¿øÇÏ°Ô µÇ¾ú½À´Ï´Ù. ¹öºí¸µÀ» ¸ØÃß°í ½ÍÀ»¶§´Â Çڵ鷯¿¡¼ false¸¦ ¸®ÅÏÇϰųª .stopPropagation() ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù.
¿ì¸®°¡ »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®¸¦ Á¤ÀÇÇؼ .bind() ÇÔ¼ö¿¡¼ »ç¿ëÇÒ ¶§, µÎ¹ø° ÀÎÀÚ·Î .trigger() ¸¦ »ç¿ëÇϸé À¯¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, À§ ¿¹Á¦¿¡ ÀÖ´Â click À̺¥Æ® ´ë½Å¿¡ custom À̺¥Æ®¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤ÇØ º¾½Ã´Ù.
$('#foo').bind('custom', function(event, param1, param2) {
alert(param1 + "\n" + param2);
});
$('#foo').trigger('custom', ['Custom', 'Event']);
ÀÌ À̺¥Æ®´Â ù¹ø° ÀÎÀÚ·Î Ç×»ó À̺¥Æ® Çڵ鷯¸¦ ³Ñ°Ü¾ß ÇÕ´Ï´Ù. ¸¸¾à .trigger() È£Ã⠽à Ãß°¡ÀûÀÎ ÀÎÀÚ¸¦ Àü´ÞÇصµ À̺¥Æ® Çڵ鷯¿¡ Àß Àü´ÞÀÌ µË´Ï´Ù. Çϳª ÀÌ»óÀÇ ¸Å°³º¯¼ö¸¦ ³Ñ±â·Á¸é, ¿¹Á¦Ã³·³ ¹è¿ÇüŸ¦ »ç¿ëÇÕ´Ï´Ù. jQuery 1.6.2¿¡ ¿Í¼, ¹è¿ÀÇ »ç¿ë¾øÀÌ ´Ü¼ö ¸Å°³º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù.
Note: For both ÀϹÝÀûÀÎ °´Ã¼³ª DOM °´Ã¼¸¦ »ç¿ëÇÒ ¶§ ±× °´Ã¼ÀÇ ¼Ó¼º¸íÀÌ À̺¥Æ® ¸í°ú ÀÏÄ¡ÇÏ´Â °æ¿ì°¡ ¹ß»ýÇϸé, jQuery´Â event.preventDefault()¸¦ È£ÃâÇÏ¿© À̺¥Æ® Çڵ鷯¸¦ ÁßÁö½Ãŵ´Ï´Ù. ¸¸¾à ÀÌ·± ÀÏÀÌ ¹ß»ýµÇ´Â °ÍÀ» ¿øÇÏÁö ¾ÊÀ¸½Ã¸é, .triggerHandler() ¸¦ »ç¿ëÇϽñ⠹ٶø´Ï´Ù.
³»¿ëÀÌ Á» ¾î·Æ³×¿ä. ¸¹ÀÌ »èÁ¦Çϸé ÀÛ¼ºÇß½À´Ï´Ù. Àúµµ Àß ¸ð¸£´Â°Ô Á© ¹®Á¦ ¤Ì¤Ì
¿¹ Á¦
¹öÆ° #2 ¸¦ ´©¸£¸é ¹öÆ° #1ÀÇ À̺¥Æ®µµ ½ÇÇà½Ãŵ´Ï´Ù.
<!DOCTYPE html>
<html>
<head>
<style>
button { margin:10px; }
div { color:blue; font-weight:bold; }
span { color:red; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<button>Button #1</button>
<button>Button #2</button>
<div><span>0</span> button #1 clicks.</div>
<div><span>0</span> button #2 clicks.</div>
<script>
$("button:first").click(function () {
update($("span:first"));
});
$("button:last").click(function () {
$("button:first").trigger('click');
update($("span:last"));
});
function update(j) {
var n = parseInt(j.text(), 10);
j.text(n + 1);
}
</script>
</body>
</html>
¿¹ Á¦
submit() ÇÔ¼ö »ç¿ë¾ÈÇÏ°í ù¹ø° Æû Àü¼ÛÇϱâ:
$("form:first").trigger("submit")
¿¹ Á¦
submit() ÇÔ¼ö »ç¿ë¾ÈÇÏ°í ù¹ø° Æû Àü¼ÛÇϱâ:
var event = jQuery.Event("submit");
$("form:first").trigger(event);
if ( event.isDefaultPrevented() ) {
// Perform an action...
}
¿¹ Á¦
À̺¥Æ®¿¡ ÀÓÀÇÀÇ µ¥ÀÌÅÍ Àü´ÞÇϱâ:
$("p").click( function (event, a, b) {
// when a normal click fires, a and b are undefined
// for a trigger like below a refers to "foo" and b refers to "bar"
} ).trigger("click", ["foo", "bar"]);
¿¹ Á¦
À̺¥Æ® °´Ã¼¸¦ ÀÌ¿ëÇÏ¿© ÀÓÀÇÀÇ µ¥ÀÌÅÍ Àü´ÞÇϱâ
var event = jQuery.Event("logged");
event.user = "foo";
event.pass = "bar";
$("body").trigger(event);
¿¹ Á¦
À̺¥Æ® °³Ã¼¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ Àü´ÞÇÏ´Â ´Ù¸¥ ¹æ¹ý:
$("body").trigger({
type:"logged",
user:"foo",
pass:"bar"
});
http://api.jquery.com/trigger/
̵̧ : 342
̵̧
¸ñ·Ï