jQuery проблема с зависанием - PullRequest
1 голос
/ 23 мая 2011

Привет всем, я чувствую, что это не должно быть слишком сложно. Я показываю изображение в ячейке, если указатель мыши находится над этой ячейкой.

У меня есть стол:

<table id="selectable">
    <tr>
        <td><div><input type="text" id="in1" /></div></td>
        <td><div><input type="text" id="in2" /><div></td>
    </tr>
</table>

и функция jQuery:

$(function() {
    $('#selectable td div').hover(function() {
        $(this).append("<img src='img.png' />");
    }, function() {
        $(this).find("img").remove();
    });
});

Это все работает нормально, если пользователь наводит курсор мыши без нажатия, но если мышь нажимают и перемещают, изображение добавляется МНОЖЕ раз в одну и ту же ячейку (вы можете видеть перекрытие) и не удаляется. Вероятно, лучше проверить это, чтобы понять, что я имею в виду.

Почему? И как мне это исправить? Спасибо.

1 Ответ

1 голос
/ 23 мая 2011

вы можете сделать только один img

$('#selectable td div').each(function() {
 var img = $("<img src='img.png' />");
 $(this).hover(function() {
   $(this).append(img);
 }, function() {
   img.detach();
 });
});
...