|
Перетаскивание в поле HTML | ☑ | ||
---|---|---|---|---|
0
skyadmin
24.04.24
✎
11:21
|
Есть простой HTML
<div style="height:100% width:100% ondrop="dropHandler(event);" ondragover="dragOverHandler(event);"/> function dropHandler(event) { alert(1); } function dragOverHandler(event) { event.preventDefault(); // Предотвращаем стандартное поведение, чтобы разрешить drop } Если этот HTML из файла и открыть в браузере, то при перетаскивании в окно, отображается "1". Но когда добавляю этот HTML на форму (не важно обычную или управляемую) то поле недоступно для перетаскивания, при перетаскивании файла (с рабочего стола) в это поле открывается сам файл, а нужно чтобы отобразилась "1". Замечено, если внутри поля выполнить процедуру перетаскивания (из самого в себя) то после этой манипуляции начинает работать перетаскивание с рабочего стола или ссылки из браузера. Как сделать чтобы при открытии формы в это поле можно было сразу бросить ссылку, без манипуляций, или как-то программно провести эти манипуляции, чтобы поле инициализироваться для перетаскивания снаружи при открытии формы? |
|||
1
Ёпрст
24.04.24
✎
11:28
|
||||
2
skyadmin
24.04.24
✎
11:32
|
html файл целиком
[CODE] <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body, html { margin: 0; padding: 0; height: 100%; overflow: hidden; } .slider { width: 100%; height: 100%; display: flex; position: relative; } </style> </head> <body> <div class="slider" ondrop="dropHandler(event);" ondragover="dragOverHandler(event);"> </div> <script> function dropHandler(event) { event.preventDefault(); // Предотвращаем стандартное поведение alert(1); } function dragOverHandler(event) { event.preventDefault(); // Предотвращаем стандартное поведение, чтобы разрешить drop } </script> </body> </html> [/CODE] |
|||
3
skyadmin
24.04.24
✎
11:36
|
(1) Скачал обработку, такая же фигня.
Перетаскиваю файлы, иконка под курсором не дроповская, а зеленый плюсик, при отпускании файлов просто ничего не происходит. |
|||
4
skyadmin
24.04.24
✎
11:41
|
Вот такая бяда
|
|||
5
skyadmin
24.04.24
✎
11:42
|
Почему-то gifка не проигрывается
https://cloud.mail.ru/public/dMNx/Ta6be9hnJ |
|||
6
Ёпрст
24.04.24
✎
11:42
|
(3) каменты почитай, там написано, что нужно добавить в код
|
|||
7
Ёпрст
24.04.24
✎
11:46
|
таких поделок много
https://infostart.ru/1c/tools/1739512/ |
|||
8
skyadmin
24.04.24
✎
11:53
|
я все эти поделки пересмотрел по несколько раз, похоже только на 8.3.17 это работало до появления webkit)
|
|||
9
Ёпрст
24.04.24
✎
11:55
|
(8) просто драг/дроп, например, картинки работает в поле хтмл в 23 релизе, на счет перетаскивания снаружи, могу посмотреть на досуге.
|
|||
10
skyadmin
24.04.24
✎
11:57
|
(7) Тут сделано отдельное поле для переноса, а мне нужно в самом документе, причем определять координаты по x,y
|
|||
11
skyadmin
24.04.24
✎
11:58
|
В поле картинки у меня тоже работает, нужно в поле HTML
|
|||
12
skyadmin
24.04.24
✎
12:03
|
(9) Но что интересно если в поле HTML сделать два блока DIV (например с картинками) и дропнуть один блок на другой, то после этой махинации все начинает работать как надо)
|
|||
13
Ёпрст
24.04.24
✎
12:44
|
(0) На вот, занимайся
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ПолеHTML = "<html> | <style> |.dragndrop { | width: 100%; /* устанавливаем ширину блока */ | height: 100%; /* устанавливаем высоту блока */ | border: 3px solid orange; /* задаём сплошную границу шириной 3px оранжевого цвета */ | padding: 30px; /* устанавливаем внутренние отступы элемента со всех сторон */ | text-align: center; /* устанавливаем выравнивание текста по центру */ | background: cornsilk; /* задаём цвет заднего фона */ | float: left; /* блок становится плавающим элементом, смещенным влево */ |} |</style> |<head> |<body> |<div class = ""dragndrop"" ondrop=""drop(event)"" draggable=""true"" contenteditable=""true"">Кидай сюда!</div> |<script> |function drop(ev) { |alert(""кинули Васю""); |} |; |</script> |</body> |</head> |"; КонецПроцедуры |
|||
14
skyadmin
24.04.24
✎
13:12
|
(13) Благодарю, в этом примере сразу работает. Буду разбираться
|
|||
15
skyadmin
24.04.24
✎
13:20
|
оказалось что все портила эта функция)
function dragOverHandler(event) { event.preventDefault(); // Предотвращаем стандартное поведение, чтобы разрешить drop } |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |