だから私はただ疑問に思っていました。なぜこれが機能するのですか:
$("input[name='edit-meta']").keyup(function(e){
if(e.keyCode=='32'||e.keyCode=='13'){
var clicked=$(this);
var tag=$(this).val();
clicked.siblings("#edit-meta").append('<span style="background:<?php echo $ad_details_arr[9]?>;color:<?php echo $ad_details_arr[8]?>" class="tag">'+tag.slice(0,-1)+'<a href="#" class="remove" style="background:<?php echo $ad_details_arr[10]?>;color:<?php echo $ad_details_arr[8]?>;margin:5px">x</a></span>');
clicked.val("");
}
$("a.remove").on("click",function(e){
e.preventDefault();
var clicked=$(this);
clicked.closest("span.tag").fadeOut(function(){
$(this).remove();
});
});
});
そしてこれではありません:
$("input[name='edit-meta']").keyup(function(e){
if(e.keyCode=='32'||e.keyCode=='13'){
var clicked=$(this);
var tag=$(this).val();
clicked.siblings("#edit-meta").append('<span style="background:<?php echo $ad_details_arr[9]?>;color:<?php echo $ad_details_arr[8]?>" class="tag">'+tag.slice(0,-1)+'<a href="#" class="remove" style="background:<?php echo $ad_details_arr[10]?>;color:<?php echo $ad_details_arr[8]?>;margin:5px">x</a></span>');
clicked.val("");
}
});
$("a.remove").on("click",function(e){
e.preventDefault();
var clicked=$(this);
clicked.closest("span.tag").fadeOut(function(){
$(this).remove();
});
});
.on は、作成済みのハンドラを .live と同じように実行するのに十分であると考えました。
jquery .on ページにも記載されています。
" ... まだ作成されていない子孫要素のイベントを処理する機能 "