• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Отключение в Мозиле и Опрере Dragindrop

  • Автор темы garrymax
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

garrymax

Есть функция move:
Код:
 function move(e){
var x, y;
if (typeof e != "undefined") { y = e.pageY; x = e.pageX; } else { x = window.event.clientX;	y = window.event.clientY; }
if(ObgDivWinForMove){
ObgDivWinForMove.style.top = y - MouseOffsetY
ObgDivWinForMove.style.left= x - MouseOffsetX
}
MouseX=x; MouseY=y; 
return false; 
}
function init(){
document.onmousemove = move;
}
Используется для перетаскивания нескольких объектов (есть просто DIV's, а есть с картинками). В Ослике все нормально работает, но когда в Опере или Мозиле пытаешься перетащить DIV с картинкой вверх (только вертикально - горизонтально все нормально), то в первый момент начинается глюк (не путать с немецким счастьем) - Опера явно понимает перетаскивание, как DragInDrop на строку адреса, Мозила похоже тоже самое делает, но более обширно (не только строка адреса). Дополнительно теряется событие OnMouseUp для этого объекта, если резко сместить мышь, но это можно решить OnMouseOut - не актуально.

Переписывать на обширные варианты, которые так не воспринимают, уже поздно - это только актуальный кусок функции (есть еще один кусок, но при перемещении он всегда false), а объектов много и они разные, но проблема только с теми, у которых есть картинка в момент события OnMouseDown (Эта функция только помешает объект в переменную ObgDivWinForMove и вычисляет смещение позиции объекта от позиции курсора). Нужно только отключить в Опере и Мозиле DragInDrop, но эти броузеры не знают события OnDrag и подобные им. В сети для скриптов ничего не нашел.

Вопрос: Как скриптом отключить в Мозиле и Орере события DragInDrop (можно и для картинки отдельно) или как минимально изменить код функции, что бы вертикальное перетаскивание картинок не воспринималось этим броузерами, как DragInDrop. Предложения по background-image не пройдут - на картинках MAP's замысловатого узора. Возможно проблема только в свойствах картинки, но как эти свойства отрубить.
 
G

garrymax

Уваж. модераторам: Можно закрыть тему - выяснил (если кто столкнется): внешнему объекту onmousedown="return false;" .
Для BODY document.onmousedown="return false;", а уже нужным объектам присваивать свою функцию этого события.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!