Je viens de développer un petit code pour créer une table 24x60. Je veux imprimer l'identifiant de chaque <td>
sur mouseover
:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
table {
background-color:blue;
}
td {
width: 2px;
height: 2px;
background-color:red;
}
</style>
</head>
<body>
<table id="time-table"></table>
<script type="text/javascript">
var table = document.getElementById( "time-table" );
for ( var r = 0; r < 24; r++ ) {
var row = document.createElement( "tr" );
for ( var c = 0; c < 60; c++ ) {
var td = document.createElement( "td" );
td.id = "td-" + r + "-" + c;
td.onmouseover = function ( e ) {
console.log( this.id );
}
row.appendChild( td );
}
table.appendChild( row );
}
</script>
</body>
</html>
Le code fonctionne, mais je me demande maintenant s'il est optimisé. Est-ce que je crée 1440 fonctions de gestion d'événements dans les boucles imbriquées ? Ou bien l'interpréteur JavaScript est-il suffisamment intelligent pour ne créer qu'une seule fonction et l'assigner à 1440 <td>
éléments ?