2013-10-01 5 views
1

Я хочу, чтобы избежать щелчка и перетаскивания функций для следующего сценария.Отключить мышь Перетащите, чтобы избежать прокрутки

У меня есть два DIVs

  1. обертка Див

    { ширина: 400px; высота: 400px; overflow-x: скрыто; }

  2. содержание DIV

    { ширина: 1 200px; высота: 400px;/* Ширина примечания 3 раза обертка сОн */ }

содержания DIV является дочерней оберткой дел. wrapper div act как View Port, в котором я показываю контент div.

Когда пользователь нажимает на кнопку, я устанавливаю позицию прокрутки, чтобы показать соответствующую часть содержимого div в обертке. (0-400, 401-800, 801-1200) Но если пользователь нажимает и перетаскивает указатель мыши, тогда обертка div получает прокрутку (из-за перетаскивания). Я хочу избежать этой прокрутки при нажатии и перетаскивании.

Я попытался следующие вещи:

var isMouseDown = false; 
function onmousedown(event) { 
    isMouseDown = true; 
} 

function onmouseup(event) { 
    isMouseDown = false; 
} 

function onmousemove(event) { 
    if (isMouseDown) { 
     event.stopPropagation(); 
     event.preventDefault(); 
     event.cancelBubble = true; 
     event.returnValue = false; 
     return false; 
    } 
} 

Приведенный выше код не помогает мне.

Любая помощь приветствуется.

Заранее спасибо.

+0

Предположительно, если вы используете стрелки на клавиатуре, вы также можете прокручивать, а также нажатие пробела приведет к прокрутке экрана. Вы можете проверить их, прежде чем выполнять только прокрутку с помощью выделения/перетаскивания. –

+0

Не вертикальный свиток. Также полоса прокрутки не видна, поскольку переполнение-x скрыто. Следовательно, клавиши со стрелками и пробел не перемещают экран влево и вправо. но при нажатии и перетаскивании происходит прокрутка этого времени. где экран частично сдвинут, что раздражает мой пользовательский интерфейс. – Sanket

ответ

0

Я проверяю, когда обертка div получает свиток.

Я добавил событие «onscroll» и установил одну глобальную переменную «shouldScroll» в true, когда кнопка нажата, и установите значение false, когда div получит прокрутку до требуемой позиции.

Когда пользователь нажимает и перетаскивает мышью, событие прокрутки обертки div активируется, но я проверяю, является ли значение «shouldScroll» истинным, а только позволяет прокручивать в противном случае прокрутку к текущей позиции.

При нажатии кнопки я устанавливаю текущую позицию прокрутки в одну глобальную переменную.

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