Показывать наложение на «драгентере» при перетаскивании файла с рабочего стола в браузер ⇐ Jquery
Показывать наложение на «драгентере» при перетаскивании файла с рабочего стола в браузер
Я пытаюсь добиться того же эффекта, что и на imgur.com (перетащите файл с рабочего стола на imgur.com и увидите классный оверлей). Благодаря этому посту уже есть рабочее решение: события распространения событий, наложения и перетаскивания
НО: решение меня не устраивает. проблема в том, что $(document).on('dragenter') запускается несколько раз при наведении курсора на дочерние элементы. я искал событие, которое запускается ОДИН РАЗ, когда я вхожу в область просмотра, и ОДИН РАЗ, когда я покидаю область просмотра, чтобы я мог иметь чистые $overlay.fadeIn() и .fadeOut() при перетаскивании и перетаскивании.
Я решил эту проблему с помощью прозрачного элемента, который заполняет всю область просмотра. Затем я вызываю Dragenter для этого прозрачного элемента вместо $(документа). с помощью $('*:visible').live('dragenter') я затем показываю скрытое и реальное наложение. $('#transparentOverlay').on('dragleave') скрывает наложения. довольно хакерски, но работает (по крайней мере, в Safari/Chrome/Firefox)
но только селектор $('*:visible').live() вызывает у меня головную боль...
у кого-нибудь есть лучшее предложение?
Я пытаюсь добиться того же эффекта, что и на imgur.com (перетащите файл с рабочего стола на imgur.com и увидите классный оверлей). Благодаря этому посту уже есть рабочее решение: события распространения событий, наложения и перетаскивания
НО: решение меня не устраивает. проблема в том, что $(document).on('dragenter') запускается несколько раз при наведении курсора на дочерние элементы. я искал событие, которое запускается ОДИН РАЗ, когда я вхожу в область просмотра, и ОДИН РАЗ, когда я покидаю область просмотра, чтобы я мог иметь чистые $overlay.fadeIn() и .fadeOut() при перетаскивании и перетаскивании.
Я решил эту проблему с помощью прозрачного элемента, который заполняет всю область просмотра. Затем я вызываю Dragenter для этого прозрачного элемента вместо $(документа). с помощью $('*:visible').live('dragenter') я затем показываю скрытое и реальное наложение. $('#transparentOverlay').on('dragleave') скрывает наложения. довольно хакерски, но работает (по крайней мере, в Safari/Chrome/Firefox)
но только селектор $('*:visible').live() вызывает у меня головную боль...
у кого-нибудь есть лучшее предложение?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка MatchError при доступе к свойствам окна рабочего стола в Pywinauto
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-