Показать сообщение отдельно
  #2 (permalink)  
Старый 15.09.2013, 13:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Вроде бы нашел хороший способ:
var toElement = document.elementFromPoint(event.pageX, event.pageY);
if (!toElement || !myelement.contains(toElement)) {
    // конкретный dragleave
}

Правда в Opera это не всегда работает, пока что думаю как обойти проблему.

Второй вариант - завести counter и по dragenter прибавлять +1, по dragleave уменьшать -1. Если counter == 0, значит конкретный dragleave.
Опять же в Opera dragenter не происходит если перетаскиваемый_элемент = текущая_цель. В этом случае нужно делать инкремент по первому dragover. Еще в Firefox в моем экземпляре почему то первый dragenter происходит дважды.
__________________
В личку только с интересными предложениями
Ответить с цитированием