2013-07-11 2 views
2

Я создаю простой диспетчер окон javacript с основными функциями, такими как все менеджеры окон (перемещение, изменение размера, сортировка по глубине и т. Д.).Как избежать содержимого перетаскивания Chrome

Я использую такие события, как mousedown и mouseup, чтобы знать, когда нужно перемещать окно или нет. Однако иногда, когда я пытаюсь переместить окно, chrome подключается к нему и перетаскивает «контент» (я не знаю правильного слова для использования здесь, представьте, что вы перетаскиваете изображение из браузера в свой рабочий стол), как показано ниже.

ss
(Мой курсор здесь, он просто не отображается на скриншоте).

Всякий раз, когда это происходит, хром просто не запускает событие mouseup, когда я отпираю кнопку, поэтому окна продолжают следовать за мышью, пока я не нажму снова.

Есть ли какое-либо обходное решение, чтобы сделать хром не активировать его систему перетаскивания?

Спасибо.

ответ

2

Вот ссылка на другой вопрос, очень похожий на ваш. Кажется, у него есть множество ответов. Disable Drag and Drop on HTML elements?

+0

Спасибо. Я смог сделать это с помощью 'e.preventDefault()'. Это никогда бы не передумало. –

2

Попробуйте добавить атрибут draggable="false" к соответствующим элементам. По умолчанию можно перетаскивать элементы <img> и <a>, так же как выбранный текст (мало что вы можете сделать с этим).

В качестве альтернативы, попробуйте добавить ondragstart="return false;" к документу.

+0

'draggable =" false "' не работает. 'ondragstart =" return false; "' сделал трюк, хотя курсор все еще меняется на указатель выбора. Я смог решить его с помощью 'e.preventDefault()' в событии mousedown, он не изменяет курсор и не требует никаких атрибутов. –

Смежные вопросы