Это очень распространенный ", используя переменную цикла в проблема обратного вызова.
Как вы используете JQuery простейший исправить это data
параметр для обработчика:
var x=1;
while (x <= 15) {
$("td#id"+x).mouseover({ x: x }, function(ev) {
this.title = ev.data.x;
});
x++;
}
Тем не менее, почему вы настройки только это в mouseover
функции? Заголовок должен быть добавлен к элементам непосредственно, только один раз:
for (var x = 1; x <= 15; ++x) {
document.getElementById('id' + x).title = x;
}
Делать это в mouseover
обработчик не будет на самом деле сломать что-нибудь, но это означает, что вы зарегистрировали обработчик события, который будет вызываться (и обновление DOM) снова и снова при каждом переходе из одной ячейки в другую.
Это часть большого скрипта, кубики таблицы динамически генерируются и имеют идентификатор, атрибут title будет иметь значение x, которое является итератором, поэтому, если, например,