jQueryを使って動的な要素にイベントを付けるときによく使うメソッド。
jQueryは動的な言語なので、書いた構文がドキュメントに存在しないことになってしまう。
つまり、ある構文の下にその構文に対してイベントを与えたい構文を書いても、上にある構文は存在していないので影響を与えられない。
$("button").click(function(){
var p = $('
').text('ok!').addClass('ok');
$(this).before(p);
});
$(".ok").click(function(){
$(this).remove();
});
↑このような感じでok!の文字を消そうとしても、消すことができない
そのような際に、onメソッドを使えば、構文に対してイベントを与えられる。
$("button").click(function(){
var p = $('
').text('ok!').addClass('ok');
$(this).before(p);
});
$('body').on('click', '.ok', function() {
$(this).remove();
});
↑こうすれば、ok!の文字を消すことができる