このコードは、マウスの中心で色が変わる色付きのセルのグリッドを表示し、新しい色のセルの軌跡を残しています。ボタンはグリッドを元の色のセルで再ロードします。問題は、マウスの色の変更は、最初のグリッドの読み込み(ページリフレッシュ時)後にのみ動作し、新しいグリッドの作成ボタンがクリックされた後の後続のロードでは機能しません。jQuery mouseenterは最初のページの読み込み時にのみ動作します
私はjavascriptとjQueryの新機能ですが、私はクラスの資料を読んでいて、これのさまざまな部分を行う方法についていくつかの記事を読んでいますが、何が間違っているのかわかりません。
ログインjsfiddle here.
var gridWidth = 600;
var fillGrid = function(){
$('.grid').empty();
var cellsPer = prompt('How many cells would you like in a side?');
console.log('cellsPer = ' + cellsPer);
var cellWidth = (gridWidth/cellsPer) - 1;
console.log('cellSize = ' + cellWidth);
var cell = "<div class='cell'></div>";
for (var i = 0; i < cellsPer**2; i++) {
$('.grid').append(cell);
};
$('.cell').css({
'background':'blue','height': cellWidth+'px', 'width': cellWidth+'px',
'float':'left','margin': '0 1px 1px 0'
});
};
$(document).ready(function() {
fillGrid();
$('.grid').css({'width': gridWidth+'px'});
$('button').click(function(){
fillGrid();
});
$('.cell').mouseenter(function() {
$(this).css('background','pink');
});
});
親に処理を委譲してください。これは、より保守性があります。 –