夜、
私のjqueryの一部が機能しない理由について少し混乱しています。
例の証明は次のとおりです。 http://jsfiddle.net/FS34t/624/
ご覧のとおり、「ボックス」をクリックすると、そのアラートがトリガーされます。
ただし、これと同じ動作を独自のコードに実装しようとすると、「ボックス」をクリックしてもトリガーされません。
function scroll(e) {
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
var $items = $(balls());
$items.imagesLoaded(function(){
$container
.masonry('reloadItems')
.append( $items ).masonry( 'appended', $items, true );
});
}
}
function balls(){
$iterator -= 1;
if($iterator < 0){
var $boxes = $( '<div class="box">No more games!</div>' );
$container.append( $boxes ).masonry( 'appended', $boxes, false );
return;
}
var $width = 9;
return (
'<div class="box" style="width:18%">'
+'<p>'+$test[$iterator][1][2]['name']+'</p>'
+'<img src="scripts/php/timthumb.php?src='+$test[$iterator][2]+'&q=100&w=300"/>' //Replace this with the one below when timthumb is whitelisted
+'<div id=boxBottom>'+Math.floor($test[$iterator][0]*100)+'%</div>'
+'</div>'
);
なぜかわからない
$(".box").click(function(event){
alert("TEST");
});
ここでは機能しません。私の唯一の推測は、jsfiddle の例では、「ボックス」が HTML で宣言されているのに対し、これらは .js で生成されているためでしょうか?