Пользовательский интерфейс JQuery: перетаскивание отключает события наведения мыши? - PullRequest
0 голосов
/ 01 декабря 2009

Я пытаюсь получить как события наведения мыши, так и перетаскивание, используя JQuery и JQuery UI

У меня сейчас есть рабочий прототип: http://dan.taeyounglee.com/othersites/m-p/ch18.php.

Как вы можете видеть, если вы наводите указатель мыши на изображения через событие наведения, которое привязано к рисункам слева, отдельный соответствующий div скрывается / показывается. Это отлично работает. Но после перетаскивания одного из рисунков в области, обозначенные пунктирными линиями, наведение больше не работает.

Вот код наведения:

$(".artwork").hover(function () {    
    var hoverid = $(this).attr('id');  
    var hovernum = hoverid.split("img")[1];  
    $('.explanation').hide();  
    $("#explanation" + hovernum).show();  
},  
function() {  
    $('.explanation').hide();  
});  

Кажется, что-то в пользовательском интерфейсе JQuery отключает эффект наведения? Я не уверен, как это исправить, и я попытался использовать mouseover / mousestart; это то же самое.

Есть идеи? Спасибо!

1 Ответ

1 голос
/ 01 декабря 2009

Вы должны повторно назначить событие объекту после его отбрасывания.

Перетаскивание, вероятно, удаляет старый объект и помещает его клон на новое место. Вместо того, чтобы поддерживать тот же элемент.

Я только что проверил это с помощью консоли в FF3, и она работает. Поместите эту логику в метод, который может быть вызван событием end drag или drop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...