Dieser Code präsentiert ein Raster aus farbigen Zellen, die am mouseenter die Farbe ändern und eine Spur von Zellen der neuen Farbe hinterlassen. Ein Knopf lädt das Gitter mit Zellen der ursprünglichen Farbe neu. Problem ist, dass die mouseenter-Farbänderung erst nach dem ersten Laden des Rasters (bei Seitenaktualisierung) funktioniert, aber nicht bei nachfolgenden Ladevorgängen, nachdem auf die Schaltfläche "Neues Raster erstellen" geklickt wurde.jQuery Mouseenter funktioniert nur auf der ersten Seite load
Ich bin neu in Javascript und jQuery und obwohl ich über die Unterrichtsmaterialien gewesen bin und einige Artikel darüber gelesen habe, wie man verschiedene Teile davon macht, kann ich nicht sehen, was falsch ist.
Besuchen Sie die 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');
});
});
Oder delegieren Sie einfach die Behandlung an die Eltern, die wartungsfreundlicher ist. –