Показывать наложение на «драгентере» при перетаскивании файла с рабочего стола в браузерJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Показывать наложение на «драгентере» при перетаскивании файла с рабочего стола в браузер

Сообщение Anonymous »


Я пытаюсь добиться того же эффекта, что и на imgur.com (перетащите файл с рабочего стола на imgur.com и увидите классный оверлей). Благодаря этому посту уже есть рабочее решение: события распространения событий, наложения и перетаскивания

НО: решение меня не устраивает. проблема в том, что $(document).on('dragenter') запускается несколько раз при наведении курсора на дочерние элементы. я искал событие, которое запускается ОДИН РАЗ, когда я вхожу в область просмотра, и ОДИН РАЗ, когда я покидаю область просмотра, чтобы я мог иметь чистые $overlay.fadeIn() и .fadeOut() при перетаскивании и перетаскивании.

Я решил эту проблему с помощью прозрачного элемента, который заполняет всю область просмотра. Затем я вызываю Dragenter для этого прозрачного элемента вместо $(документа). с помощью $('*:visible').live('dragenter') я затем показываю скрытое и реальное наложение. $('#transparentOverlay').on('dragleave') скрывает наложения. довольно хакерски, но работает (по крайней мере, в Safari/Chrome/Firefox)

но только селектор $('*:visible').live() вызывает у меня головную боль...

у кого-нибудь есть лучшее предложение?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»